Skip to content

Constraints

Picker entries from Octoputs. Grouped by the category the picker shows them under.

Constraints

Constrainer

Keeps a target transform inside spatial limits each frame.

Keeps a target Transform inside the limits you list, like bounds, spheres, planes, lines, or angle ranges. Each frame its position runs through every position constraint in order, then its rotation through every rotation constraint. On a Rigidbody target, correction happens before and right after each physics step, sliding along the constraint surface instead of stopping dead against it; without a Rigidbody it happens at the very end of the frame. Use the Start & Stop section to choose when constraining starts and stops: on enable, during an attachment, on an event, or with your own Begin/End calls.

Type: Constrainer ยท Full page

General

Composite Position Constraint

Combines multiple position constraints

Runs several position constraints one after another, so you can build a complex limit by stacking simple ones.

Type: CompositePositionConstraint

Composite Rotation Constraint

Combines multiple rotation constraints

Runs several rotation constraints one after another, so you can build a complex limit by stacking simple ones.

Type: CompositeRotationConstraint

Keep In Volume

Keeps the position inside, outside or on the surface of a volume.

Keeps the position inside a box, ball, cylinder or capsule, outside it, or on its surface. Put the volume in a transform's space to make it follow that object, for example a leash that keeps a toy within reach of its anchor.

Type: KeepInVolumeConstraint

Keep On Shape

Keeps the position on a shape, such as a floor, a rail or a curve.

Keeps the position on a shape: a floor plane, a rail, a circle, a curve. Set Max Distance to leave some room around the shape instead, like a tube around a curve or a slab above a floor. Put the shape in a transform's space to make it move and turn with that object.

Type: KeepOnShapeConstraint

Lock Rotation Axes

Locks selected X/Y/Z Euler rotation axes to a reference rotation value

Freezes rotation on selected Euler axes by replacing them with a reference value, allowing free rotation only on unlocked axes. X and Z are locked to start with, so it only turns around Y, like a turntable.

Type: AxisLockRotationConstraint

No Position

Locks the position to a reference value, allowing no movement.

Forces the position to always equal a reference value, completely preventing any movement.

Type: NoPositionConstraint

No Rotation

Locks the rotation to a reference value, allowing no rotation.

Forces the rotation to always equal a reference value, completely preventing any rotation.

Type: NoRotationConstraint

Rotation Constraint

Limits rotation to specific angular ranges

Keeps rotation within angle limits on each axis, relative to a reference rotation.

Type: RotationConstraint

Snap Rotation Angles

Snaps rotation to angle steps on each axis

Snaps rotation to the nearest angle step on each axis. Good for 90-degree turns and other fixed rotation steps.

Type: AngleSnapRotationConstraint

Snap To Grid

Snaps the position to the centres of a grid laid out in a volume.

Snaps the position to the centre of the nearest grid cell. The volume sets the grid: Cells splits it evenly on each axis, and a box's grid keeps repeating past its edges. Put the volume in a transform's space to tilt or move the grid with that object. 0 cells on an axis leaves that axis free.

Type: SnapToGridConstraint

Snap to Point

Locks position to the nearest registered snap point within a threshold distance

Snaps position to the nearest snap point registered at runtime, if it's within the threshold distance.

Type: SnapPointConstraint