Over 11,000 five-star assets

Rated by 85,000+ customers

Supported by 100,000+ forum members

Every asset moderated by Unity

Home
Tools
Utilities
1/14
loading
loading
loading
loading
With this tool you are super easy create a Serializable Curve, no other component needed, just add a Serialize Field then Curve Editor GUI will come up to Scene View.
Render pipeline compatibility
The Built-in Render Pipeline is Unity’s default render pipeline. It is a general-purpose render pipeline that has limited options for customization. The Universal Render Pipeline (URP) is a Scriptable Render Pipeline that is quick and easy to customize, and lets you create optimized graphics across a wide range of platforms. The High Definition Render Pipeline (HDRP) is a Scriptable Render Pipeline that lets you create cutting-edge, high-fidelity graphics on high-end platforms.
Unity VersionBuilt-inURPHDRP
6000.0.25f1
Compatible
Compatible
Compatible
2021.3.9f1
Compatible
Compatible
Compatible
2019.4.0f1
Compatible
Compatible
Compatible
Additional compatibility information

*This package is Fully Compatible with any other Custom Editor tools like Odin inspector. Property Drawer is defined for Curve class and able to be serialized in any Editor GUI.

Description

This is a tools for helping you create serializable Curve. You will be super easy to serialize a curve in every class. The Curve Editor will just show up in Scene View Curve Editor while inspector is showing, a List of Curve edit is also supported.


Key Feature:

1) Scene View Curve Editor

  • Curve editing, Anchor Point, Control Point editing.
  • (*New Feature) Twisting mode, when your scene view set to "Rotate Tool" the twisting tool will show up at each anchor point.
  • (*New Feature) Scaling mode, when your scene view set to "Scale Tool" the scaling point will show up at each anchor point.
  • Move the whole Curve by pressing "Shift"
  • "Edit Base On", your can optional to set a "Base" for the curve, curve position, rotation and scale will be related to this transform, if none base mean the curve is related to world space.
  • Manual, Linear, Auto Balanced, Isometric, Full Auto mode for Control Point
  • Optional "Hide", "Preview", "Edit" mode
  • Add, Remove, Reset Segment
  • Align whole Curve to Center
  • Align point to Axis, by using this option you can modify point on a specified Axis.
  • "To Axis" Button, you can snap all your points in the curve to the Axis plane.
  • Anchor Point Stick to Surface, with this mode anchor point will snap to collider surface on the scene. You can also setup a offset.

2) Property Drawer Supported

  • You can just add "Curve" to any Serializable object, curve editor will show up when Inspector drawing.

3) Optional Twisting and Scaling

  • Blender 3D like Curve twisting and scaling is possible, if you want to create something rotate smoothly as Curve, this is the pacakage for you.

Many Useful Example (You can just use in your game! ):

1) Object Following Path

  • Example of make a object following the path

2) List of Curve Data

  • Example of editing multiple Curve

3) Curved Object Array (3D)

  • Example of Editor tools to create a object array in the scene

4) Raycast Editing

  • An example of "Stick to Surface" editing mode. Anchor point will snap to surface automactically.

5) Filling Field

  • An example of filling curve by object

6) Edit Base On Scene Transform

  • An example of Curve is related to Scene, but Curve data saved in Character

7) Twisting Curve

  • An example of curve twisting, point scaling.
Technical details

Script Document:


void AddSegment(Transform parent):

  • Input 'parent' make First point related to parent transform
  • Other point is related to the last point of curve

void RemoveSegment(int index):

  • Remove one Anchor point

Vector3 Evaluate(float t, Transform parent):

  • Input 't' is a float from 0~1 (Looping Index)
  • Input 'parent' can make output Vector3 related to parent transform. (So rotate parent also rotating the curve, scale parent also scaling the curve.)

Quaternion Rotation(float t, bool applyTwist, Transform parent = null)

  • Input 't' is a float from 0~1
  • Input 'applyTwist', you a option to apply twisting angle, when false the Evaluate angle will be point to normal.
  • Input 'parent' can make output related to target parent.

float EvaluateScale(float t)

  • Input 't' is a float from 0~1

Vector3 Tangent(float t):

  • Getting the tagent Vector of point at Evaluate(t) (Usually used for moving forward)

Vector3 Normal(float t)

  • Getting the normal Vector of point at Evaluate(t)

Vector3 BiNormal(float t)

  • Getting the biNormal Vector of point at Evaluate(t)

float GetTByIndex(int index)

  • Getting the T by input anchor point index

float ClosestT(Vector3 point, float resolution, Transform parent = null)

  • Find the closest evaluate value by input 'point' (Can see the Example at FollowPathWithMoveSpeed.cs script)

List<Vector3> TryFindFillPoint(float resolution, Axis2D axis2D, Transform parent = null)

  • By resolution and axis input, return a list of Point which inside the curve.

Serializable Bezier Curve Editor [Property Drawer ⇒ SceneView]

(not enough ratings)
1 users have favourite this asset
(1)
$5.99
Seat
1
Updated price and taxes/VAT calculated at checkout
Refund policy
This asset is covered by the Unity Asset Store Refund Policy. Please see section 2.9.3 of the EULA for details.
Secure checkout:
Supported payment methods: Visa, Mastercard, Maestro, Paypal, Amex
License type
File size
1.5 MB
Latest version
1.4.2
Latest release date
Nov 6, 2024
Original Unity version
2019.4.0
Support
Visit site
Quality assets
Over 11,000 five-star assets
Trusted
Rated by 85,000+ customers
Community support
Supported by 100,000+ forum members
Unity logo
Language
Feedback
Partners Program
Partners
USD
EUR
Copyright © 2025 Unity Technologies
All prices are exclusive of tax
USD
EUR
Serializable Bezier Curve Editor [Property Drawer ⇒ SceneView]
$5.99