Boing Behavior
Attach Boing Behavior to a GameObject and its rendered transform will spring toward the target position and rotation you set, rather than snapping to it. Move or rotate the object however you like — the bouncy lag is applied for you each frame.
The component reads the transform you set during Update (or FixedUpdate), then writes a spring-smoothed version back during the matching late phase for rendering, and restores your original value before the next frame.
Typical Use
Drive the transform from input, scripts, tweens, or animations — anything. As long as it's set during the frame's logic phase, the spring response shows up automatically. A mouse-followed object, for example, will lag behind the cursor and settle when it stops.
Inspector at a Glance
- Update Mode —
LateUpdate(default, variableTime.deltaTime),EarlyUpdate(apply at end ofUpdate, for renderers that read transforms early), orFixedUpdate(fixedTime.fixedDeltaTime; use this if a Rigidbody drives the object). - Enable Position / Rotation / Scale Effect — toggle which channels bounce. Scale is off by default.
- Translation / Rotation Lock — eliminate spring effect on selected axes, in global or local space.
- Params / Shared Params — local spring tuning, or point at a Shared Boing Params asset to drive many components from one place.
Avoiding Sudden Jumps After Teleports
When you intentionally snap the object to a new pose, call BoingBehavior.HandleTeleport() immediately afterward. This resets the spring so the teleport isn't interpreted as a huge instantaneous velocity.
See the API reference for the full property list.