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

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:

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
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.
Please consider leaving a review for Curvy. This will help a lot keeping Curvy relevant in the eyes of the Asset Store algorithm.

Possibly Related Threads…
Thread Author Replies Views Last Post
  How to get length starting from one spline to connected nth spline Dragon-3623 1 1 05-14-2024, 04:52 PM
Last Post: _Aka_
  Curvy Line Renderer for UI Spline? gekido 3 6 04-04-2024, 12:56 PM
Last Post: _Aka_
  Get position of all control points for a spline gekido 1 6 03-28-2024, 10:08 PM
Last Post: _Aka_
Bug Changing spline connection in inspector causes splines to revert to defaults lacota 3 6 03-18-2024, 07:55 PM
Last Post: _Aka_

Forum Jump: