Repository navigation
Stylised Motion
Two animation settings for when smooth motion isn't the look you want.
Normally, an animation moves smoothly, a little every frame. Tick Play At Custom FPS and type a frame rate into the box beside it, and the animation moves in distinct jumps instead, for a stop-motion or hand-drawn look.
Loops 1
Loop Type Restart
Play At Custom FPS ✔ [ 12 ]
| FPS | Feels like |
|---|---|
6–8
|
Deliberately crunchy |
12 |
Classic hand-drawn animation |
24 |
Film |
It's a look, not a performance setting: nothing gets cheaper, and Duration means exactly what it did before. Setting it higher than your screen's refresh rate does nothing.
- Steps still land exactly on their To, even when the Duration isn't a whole number of frames.
- Every step ticks together, even steps started at odd delays, so a group reads as stop-motion instead of jitter.
- Custom curves are stepped too.
- Punch and shake are never stepped, since they make their own wobble.
- Set Active and Play Sound still happen at their exact time, not on the nearest frame.
- It's per animation, so a
Showcan be stepped while the same object'sHoverstays smooth.
Under the hood
- It works on the ease, not the clock: the time handed to the ease is rounded down to the frame grid, so the tween still updates every frame but holds its value between frame boundaries. The last frame is sampled at the step's true end, so it can be shorter than the others.
- The grid is measured from the start of the whole animation, not from each step's start. Separate per-step grids read as jitter.
- Punch and shake drive their oscillation internally, not through the ease, and overriding that breaks them silently.
- In code the box is the separate
FPSfield.
Snapping rounds positions and sizes to whole pixels every frame, for pixel-perfect movement in pixel-art games. On a slow move you'll see it step pixel by pixel, which is the point.
It's one button on the animation. Click to cycle:
Snapping [ DISABLED ] → [ ALL STEPS ] → [ PER STEP ]
| Setting | What snaps |
|---|---|
DISABLED |
Nothing, except a step whose own Snapping box is ticked |
ALL STEPS |
Every step that moves or resizes something, paths included |
PER STEP |
You choose: each position or size step shows its own Snapping box |
Scale and rotation never snap.
A step whose own box is ticked always snaps, whatever the button says, and its box stays visible so you can see that.
Under the hood
- In code it's two bools,
SnappingandSnapPerStep. A step snaps if its own box is ticked, or the animation'sSnappingis on andSnapPerStepis off. - The per-step box adds to the animation-wide setting rather than being replaced by it. That's what let animations made before the animation-wide setting existed keep working untouched: their steps still carry their own ticks.
- DOTween has no snapping option for scale or rotation.
Installation
Code API
Basic usage
Advanced usage
- Punch and Shake
- Sizing a RectTransform
- Movement Paths
- Sound
- Custom Property
- Material and Shader Properties
- Stylised Motion
- Interrupting and Chaining
- Mirroring
- Copy and Paste
- Animation Sets
- Scene Gizmos
Nitty-gritties
Warnings and Troubleshooting