Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Best practice when Instantiating game object with spline
#1
Hi, I create splines many times using a prefab which is a simple GameObject with a Curvy Spline component. I create it like this:

Code:
splineClone = GameObject.Instantiate(splinePrefab, new Vector3(), Quaternion.identity);

Immediately after this, I grab the spline component and set properties on it, including the actual spline points:

Code:
spline = splineClone.GetComponent<CurvySpline>();
spline.Orientation = CurvyOrientation.Static;
CurvySplineSegment[] cps = spline.Add(pathPoints.ToArray());

However, should I be checking spline.IsInitialized first before fiddling with the spline? In other words, do I need to be waiting for some form of initialisation in the CurvySpline componenrt before I set it's control points, even though it doesn't have any control points to start with?
In addition, should I be calling Refresh after adding the control points or before?

As a general rule of thumb when doing everything via the API, when should I be checking the IsInitialized property and calling Refresh?

Thank you
Reply
#2
Hi,
CurvySpline.IsInitialized is set to true at OnEnable and Start. When instantiating via prefab, one of those two methods is not called, or even both of them, I don't remember*. If you don't bother doing tests or looking on internet, the best is to call them both, OnEnable then Start, before using the spline. "Overcalling" those methods should not create any issue.

*The script initialization process in Unity is a hell. It's different depending on Unity's version, on whether you instantiated via editor or script, via prefab or not, on whether it is an editor script or a runtime script, ... Each time I learn it for the sake of debugging or implementing a feature, I forget about it soon after. And of course, the official Unity documentation is incomplete.
Available for freelance work, feel free to reach out: toolbuddy.net
Please consider leaving a review for Curvy, this helps immensely. Thank you.
Reply


Possibly Related Threads…
Thread Author Replies Views Last Post
  Filling a closed spline dynamically rickgplus 1 54 04-16-2025, 08:56 AM
Last Post: _Aka_
  Morph game object along curve. mikechr2000 5 464 02-04-2025, 09:30 PM
Last Post: _Aka_
  Disable a spline's gizmo when not selected or disabled. mikechr2000 1 191 02-03-2025, 09:34 AM
Last Post: _Aka_
Information Questions regarding spline colliders and collisions with rigidbodies Spyboticer 7 702 01-20-2025, 12:25 PM
Last Post: _Aka_

Forum Jump: