Spring Controller

The Spring Controller applies a control node that can be used to limit how far a bone can stretch from its reference pose position while applying force in the opposite direction.


Below, we demonstrate how the Spring Controller can be used to simulate movement of non-animated bones.

In the video above, the character has a Furnace attached to their back that was not animated with the character's movement (initially shown without the Spring Controller connected). We then connect the nodes to include the Spring Controller that is targeting the Furnace Bone and adjust the Spring Stiffness and Spring Damping settings to generate the movement.

Property Description


Spring Bone Name of the bone to apply the spring solver to.
Limit Displacement If enabled, the spring solver is applied.
Max Displacement The maximum distance the bone can stretch.
Spring Stiffness A multiplier for the amount of force applied by the spring. Larger values require more bone velocity to displace the bone and result in a larger applied force.
Spring Damping The amount of the bone's velocity removed by the spring.
Error Reset Thresh A threshold displacement - if the spring stretches more than this amount, it resets in order to avoid errors introduced by sudden, large displacements such as those caused by teleporting Actors.
No ZSpring If enabled, the displacement in the Z axis is ignored by the spring and is always correct.

Spring Controller nodes are also affected by the LOD Threshold system introduced in 4.11. You can find the setting for this in the Details Panel for the Spring Controller node.


Property Description
LOD Threshold This is the max Level of Detail (LOD) that this node is permitted to run on. For example: if you have LOD Threshold set to 2, it will run until LOD 2, but disable itself once the component's LOD becomes 3.