4 SecondaryMotion
Mabel Amber edited this page 2026-08-21 16:27:24 -07:00

Fields

Bones

Root (Transform)

The root bone for the simulation.

Exclusions (List of Transforms)

Bones that should be excluded from the simulation. They will inherit the motion of their parent bone.

End Length (Float) - Default: 0

Extra length at the end of the chain, used for colliders.

End Offset (Vector3) - Default: 0, 0, 0

Directional extra length at the end of the chain, used for colliders.

Simulation

Update Rate (Float) - Default: 60

How many times per second the simulation updates.

Update Mode (Enum) - Default: Normal

Changes how the simulation updates.

Normal

Standard updates.

FixedUpdate

Runs on FixedUpdate instead, useful for animating bones connected to the simulated chain.

UnscaledTime

Unaffected by timescale.

Blend Weight (Float) - Default: 1

Blending between animation and simulation. Higher values shift the weighting towards the simulation, lower values towards animation.

Visibility Culling

Enable Culling (Bool) - Default: False

Whether to stop the simulation based on if the main meshes are visible or not.

Visible Renderers (List of SkinnedMeshRenderers)

The renderers used for the culling. If these aren't visible, the simulation stops.

If you have LODs, these should be your primary LODs, the highest quality ones. The simulation will stop if these LODs are not visible.

Physics

Dampening (Float) - Default: 0.1

Controls how quickly the bone's motion loses energy. Higher values make the simulation settle faster and reduce swinging and oscillation.

Dampening Curve (AnimationCurve)

Controls the dampening based on the bone's position along the chain.

Elasticity (Float) - Default: 0.1

Controls how strongly bones are pulled back toward their original position. Higher values make the chain resist being displaced and return to its resting pose more strongly.

Elasticity Curve (AnimationCurve)

Controls the elasticity based on the bone's position along the chain.

Stiffness (Float) - Default: 0.1

Controls how strongly each bone attempts to maintain its original direction relative to its parent. Higher values make the chain more rigid and less flexible.

Stiffness Curve (AnimationCurve)

Controls the stiffness based on the bone's position along the chain.

Inertia (Float) - Default: 0.1

Controls how much the bones resist changes in their current motion. Higher values make the chain feel heavier and more sluggish when the parent moves.

Inertia Curve (AnimationCurve)

Controls the inertia based on the bone's position along the chain.

Max Angle (Float) - Default: 180

The maximum angle a bone is allowed to rotate away from its resting direction. A value of 0 prevents the bone from rotating, while 180 allows it to rotate freely.

Max Angle Curve (AnimationCurve)

Controls the maximum angle based on the bone's position along the chain.

Gravity (Vector3) - Default: 0, 0, 0

A constant force applied to the simulation in world space. This is used to make bones naturally fall or hang in a particular direction.

Force (Vector3) - Default: 0, 0, 0

A constant force applied to the simulation in world space. Unlike Gravity, Force is intended for arbitrary directional forces.

Collision

Collision Radius (Float) - Default: 0

The radius around the bone for collider interactions.

Collision Radius Curve (AnimationCurve)

Controls the collision radius based on the bone's position along the chain.

Colliders (List of SecondaryMotionColliders)

The colliders that the chain will interact with.

Methods

SetWeight(float weight)

Should be used for changing Blend Weight in runtime.