Update Mode

Time update setting

By changing the UpdateMode, you can change the way the simulation time progresses for each cloth component.
This is especially important when moving characters with FixedUpdate().

In Unity, two different time management systems coexist: the update loop of the drawing system and the update loop of the physical system.
Therefore, the MagicaCloth update timing must match the update loop used by the character or the simulation will not run correctly.
If this setting is incorrect, the simulation will experience inexplicable oscillations.


Time is advanced by Unity’s basic Update() timing.
This mode assumes that the character is moved with Update() or LateUpdate() and the animation is updated with Normal.

Unity Physics

Time progresses according to the update timing of Unity’s physics system.
This mode assumes that the character is moved with FixedUpdate() and the animation is updated with Animate Physics.


Like Normal, time is advanced at Update() timing.
However, unlike Normal, it is not affected by the Unity timescale (Time.timeScale).
This is useful when the game is stopped due to timeScale=0 and cloth simulation is applied to characters in inventory.
In this case, the animation must also be set to Unscaled Time.

Animator Linkage

Automatically sets the appropriate update mode in conjunction with the character’s Animator.UpdateMode.
If Animator does not exist, it will be Normal.

Animator.UpateMode MagicaCloth.UpdateMode
Normal Normal
Animate Physics (Fixed) Unity Physics
Unscaled Time Unscaled