Skip to content

Mirroring Rules

rmfandyplayz edited this page Sep 30, 2026 · 2 revisions

The full detail behind Mirroring. You don't need this to use it.

Everything it changes

Forwards Mirrored
Step order Fully reversed: the last step becomes the first. Joined (WITH PREVIOUS) groups stay joined and whole, and their members reverse too. Inside a group that only changes how the list reads, since joined steps all start together
Staggered delays inside a joined group Flipped, so the item that arrived last is the first to leave
From / To Swapped, values and modes both
Ease preset Unchanged. A mirrored Hide keeps the Out Quart its Show was made with
Custom curve Unchanged
To: Current offset The same offset, negated
Movement path points Reversed, so the mirror walks the same path backwards. On a To: Current step they're also re-based onto the new start. A Linear path retraces exactly; a Curved one lands within a pixel or two
Set Active on Set Active off
Punch / shake Unchanged, since they already end where they started
Play Sound Keeps its clip
Custom Property text Swapped like any other value. With no From, the mirror types from the forward To back to the resting text

Everything outside the steps (Loops, Loop Type, Play At Custom FPS, Interrupt Others, Notes, On Complete) is carried across untouched.

What it can't get right

A step with no From. Its forward start was whatever the value happened to be, so there's nothing exact to mirror onto. The mirror switches the step to FROM, sets From to the forward To (which is known), and sets To to Baseline 0, the resting value. Then it logs a warning naming each affected step. Click the warning to find the object.

That guess is right for an animation that started from rest, and does nothing on one that already ends at rest. If a mirrored step does nothing, this is why: type the To you actually want.

A lone step's delay. Delays are flipped within a joined group. A delay on a step on its own is a gap between groups, and a gap after a step can't be expressed on the step itself, so it's left alone.

Some movement paths. Path points use To's mode, and two cases change that mode: swapping a From and To that were in different modes, and the no-From case above when the old To was Absolute (the new To is Baseline). Converting the points between modes needs the resting value, which only exists while the game runs. So the points are reversed, but read in a different mode, and the mirror logs a second warning naming those steps.

Under the hood
  • A Curved path doesn't retrace exactly because DOTween shapes the two ends of a Catmull-Rom curve differently (the control point before the first point is the second point; the one after the last is the last mirrored through the one before it). On a 200-unit path, the mirror lands within about 1.5 units.
  • Reordering always keeps each WITH PREVIOUS group together and contiguous. Moving steps between groups would silently change which steps run together.

Clone this wiki locally