Curvy Spline


Defines the curve type: Linear, Bezier, Catmull-Rom, B-Spline or TCB. See the Spline Types section for more information.

Restrict To 2D

When enabled, the default SceneView's Move tool is replaced by a 2D version that uses the plane defined in Restricted 2D Plane. If Use Tiny 2D Handles is enabled in the preferences, no tool is shown and you can drag the Control Point gizmos around directly.

Restricted 2D Plane

(Only when Restrict To 2D is true) The local 2D plane to restrict the spline's control points to


Whether the spline should be closed, i.e. the last Control Point should form a segment to the first Control Point.

Auto End Tangents

(Open Catmull/TCB splines only)

When enabled, the very first/last Control Points are automatically calculated using spline direction.


Determines how to calculate orientation:

  • None - No orientation at all. The cheapest performance wise
  • Static - Use Control Point transform rotation
  • Dynamic - Calculate a least angle, smooth orientation. The most expensive performance wise
Dynamic Orientation

In this mode a direction vector is smoothly transported between two orientation anchors with the least possible angle difference. To control the flow, you can enable the Orientation Anchor option at certain Control Points. Note that the first Control Point is automatically defined as an orientation anchor.

(Bezier Curves only)

Default Distance %

Determines the default Bezier Handle length when using Auto Handles

(TCB curves only)


Determines global tension used by Control Points


Determines global continuity used by Control Points


Determines global bias used by Control Points

Set Catmull/Cubic/Linear

Presets TCB parameters to “mimic” a certain curve type

Show Gizmos

Whether to show the spline in the SceneView or not


Color used to draw the spline. Default value can be defined in the Editor Preferences

Active Color

Color used to draw the spline if selected. Default value can be defined in the Editor Preferences

Cache Density

Determines the cache density. See caching for more details.

Max Points Per Unit

The maximum number of sampling points per world distance unit. Sampling is used in caching, spline rasterization and shape extrusion for example.

Use Pooling

If enabled, Control Points are disabled when deleting and reused when created instead of destroying and creating them. This prevents framerate glitches when adding and removing a lot of CP's at runtime. Pooled GameObjects are stored (invisible) by the Curvy Global Manager object.

Use Threading
Threading is is currently not supported when targetting WebGL and Universal Windows Platform.

If enabled, building the cache is done in parallel on multiple threads. Threads in general have a processing overhead, so if the cache is small enough, the benefits from splitting its building can be smaller that the cost of the threading overhead.

Check Transform
Play Mode only.

If enabled, any Transform modifications made to the Control Points will cause the spline to update accordingly. if you are not making such modifications while in Play Mode, you can improve performance by disabling this option.

Check Update

Determine when the spline updates itself!

You can react to certain spline related events by adding a handler to the following UnityEvents:

On Initialized

Called after the spline's initialization

On Refresh

Called each time after the spline has refreshed, including its initial update

On After Control Point Changes

Called after one or more ControlPoints were added or deleted

On Before Control Point Add

Called before a Control Point is about to be added. Cancel this event to prohibit adding a CP

On After Control Point Add

Called after a Control Point is added

On Before Control Point Delete

Called before a Control Point is about to be deleted. Cancel this event to prohibit deleting a CP