Game Dev Cheat Sheet

DOTween Quick Reference

Searchable cheat sheet for every common DOTween method. Click copy to grab C# code snippets for your Unity project.

DOTween is the most popular tweening library for Unity, but its documentation can be hard to scan when you just need the syntax. This searchable reference covers every common DOTween method with one-line descriptions and copy-paste code, so you can find what you need in seconds. For full documentation, visit the official DOTween website.

Category:

Transform

DOMove

Move to a world position

transform.DOMove(new Vector3(0, 5, 0), 1f);

DOLocalMove

Move to a local position

transform.DOLocalMove(new Vector3(0, 5, 0), 1f);

DORotate

Rotate to target euler angles

transform.DORotate(new Vector3(0, 180, 0), 1f);

DOLocalRotate

Rotate in local space

transform.DOLocalRotate(new Vector3(0, 180, 0), 1f);

DOScale

Scale to target size

transform.DOScale(Vector3.one * 2f, 1f);

DOJump

Jump to position with arc

transform.DOJump(new Vector3(5, 0, 0), 2f, 1, 1f);

DOPunchPosition

Punch offset and return

transform.DOPunchPosition(new Vector3(0, 1, 0), 0.5f);

DOPunchRotation

Punch rotation and return

transform.DOPunchRotation(new Vector3(0, 0, 30), 0.5f);

DOPunchScale

Punch scale and return

transform.DOPunchScale(Vector3.one * 0.3f, 0.5f);

DOShakePosition

Shake position randomly

transform.DOShakePosition(0.5f, 0.5f);

DOShakeRotation

Shake rotation randomly

transform.DOShakeRotation(0.5f, 30f);

DOShakeScale

Shake scale randomly

transform.DOShakeScale(0.5f, 0.5f);

DOPath

Move along a path of waypoints

transform.DOPath(waypoints, 3f, PathType.CatmullRom);

DOLookAt

Rotate to look at target

transform.DOLookAt(target.position, 1f);

Material / Renderer

DOColor (Material)

Fade material to target colour

material.DOColor(Color.red, 1f);

DOFade (Material)

Fade material alpha

material.DOFade(0f, 1f);

DOColor (SpriteRenderer)

Fade sprite to target colour

spriteRenderer.DOColor(Color.red, 1f);

DOFade (SpriteRenderer)

Fade sprite alpha

spriteRenderer.DOFade(0f, 1f);

UI

DOAnchorPos

Move UI element to anchored position

rectTransform.DOAnchorPos(new Vector2(100, 0), 0.5f);

DOSizeDelta

Resize UI element

rectTransform.DOSizeDelta(new Vector2(200, 100), 0.5f);

DOFade (CanvasGroup)

Fade entire UI group

canvasGroup.DOFade(0f, 0.3f);

DOFillAmount

Animate fill amount (health bars, loading)

image.DOFillAmount(1f, 0.5f);

DOText

Typewriter text reveal

textComponent.DOText("Hello World", 1f);

Sequence

Chain multiple tweens, pauses, and callbacks into a single sequence.

Sequence seq = DOTween.Sequence();
seq.Append(transform.DOMove(new Vector3(5, 0, 0), 1f));
seq.Join(transform.DORotate(new Vector3(0, 180, 0), 1f));
seq.AppendInterval(0.5f);
seq.Append(transform.DOScale(Vector3.one * 2f, 0.5f));
seq.AppendCallback(() => Debug.Log("Sequence complete"));
seq.SetLoops(2, LoopType.Yoyo);
  • Append adds a tween to the end of the sequence
  • Join adds a tween that plays at the same time as the previous one
  • AppendInterval adds a pause
  • AppendCallback fires a callback at that point in the sequence
  • SetLoops loops the entire sequence

Common Modifiers

Chain these onto any tween to customise its behaviour.

Set easing curve

.SetEase(Ease.OutCubic)

Delay before starting

.SetDelay(0.5f)

Loop the tween (use -1 for infinite)

.SetLoops(3, LoopType.Restart)

Callback when tween finishes

.OnComplete(() => { })

Callback every frame during tween

.OnUpdate(() => { })

Treat target as relative offset

.SetRelative()

Tween FROM target to current value

.From()

Keep tween alive after completion

.SetAutoKill(false)

Tag tween for later control

.SetId("myTween")

Kill tweens by ID

DOTween.Kill("myTween")

Kill all active tweens

DOTween.KillAll()

Common Recipes

Complete, production-ready code blocks for patterns developers search for frequently.

Button Press Feedback

Scale down, bounce back, and flash colour on press.

Sequence seq = DOTween.Sequence();
seq.Append(rt.DOScale(0.9f, 0.05f).SetEase(Ease.InQuad));
seq.Append(rt.DOScale(1f, 0.15f).SetEase(Ease.OutBack));
seq.Join(image.DOColor(Color.white, 0.05f));
seq.Append(image.DOColor(originalColour, 0.1f));

Health Bar Smooth Drain

Smooth health bar that drains with a slight delay.

fillImage.DOFillAmount(targetFill, 0.4f)
    .SetEase(Ease.InOutQuad)
    .SetDelay(0.1f);

Screen Shake

Camera shake for impacts. Adjust strength by damage.

Camera.main.transform.DOShakePosition(
    duration: 0.3f,
    strength: intensity,
    vibrato: 15,
    randomness: 90,
    fadeOut: true
);

UI Panel Slide In

Slide a panel in from the right side of the screen.

// Show
panel.anchoredPosition = new Vector2(Screen.width, 0);
panel.DOAnchorPos(Vector2.zero, 0.35f)
    .SetEase(Ease.OutCubic);

// Hide
panel.DOAnchorPos(new Vector2(Screen.width, 0), 0.25f)
    .SetEase(Ease.InCubic)
    .OnComplete(() => panel.gameObject.SetActive(false));

Fade and Destroy

Fade out a SpriteRenderer then destroy the GameObject.

sr.DOFade(0f, 0.5f)
    .SetEase(Ease.InQuad)
    .OnComplete(() => Destroy(sr.gameObject));

Floating Damage Number

Float up and fade out a damage number.

Sequence seq = DOTween.Sequence();
seq.Append(tmp.transform.DOMoveY(
    tmp.transform.position.y + 1.5f, 0.8f)
    .SetEase(Ease.OutQuad));
seq.Join(tmp.DOFade(0f, 0.8f)
    .SetEase(Ease.InQuad));
seq.OnComplete(() => Destroy(tmp.gameObject));

Typewriter Text Reveal

Typewriter effect for dialogue text using DOTween.To.

tmp.text = text;
tmp.maxVisibleCharacters = 0;
DOTween.To(
    () => tmp.maxVisibleCharacters,
    x => tmp.maxVisibleCharacters = x,
    text.Length,
    text.Length / 30f  // 30 chars per second
).SetEase(Ease.Linear);

Looping Hover / Breathing

Gentle hover or breathing effect for idle objects.

target.DOScale(1.1f, 1.2f)
    .SetEase(Ease.InOutSine)
    .SetLoops(-1, LoopType.Yoyo);