Hi,
I suppose the provided code lays within a Start method. Based on this supposition, your issue happens because your code is executed before the Start() method of the controller.
To avoid the issue, make sure your code is executed after the Controller's start. You can use the Unity's script execution order for this effect.
Another way to avoid the issue is to use splineController.PlayAutomatically = true; to make the controller play whenever he is ready.
Also, your code can be simplified:
As of Curvy 2.2.3, both controllers and splines did have issues with initialization order, which is the cause the bug you encountered. Curvy 2.2.4 was planned to include a code rework of the controllers and splines to fix this issue, other issues, and reduce CPU and memory usage. That work ended up being long enough to be divided into two releases:
Thank you and have a nice day.
I suppose the provided code lays within a Start method. Based on this supposition, your issue happens because your code is executed before the Start() method of the controller.
To avoid the issue, make sure your code is executed after the Controller's start. You can use the Unity's script execution order for this effect.
Another way to avoid the issue is to use splineController.PlayAutomatically = true; to make the controller play whenever he is ready.
Also, your code can be simplified:
Code:
splineController.Spline = myspline;
splineController.Position = 0;
splineController.Speed = 1;
splineController.Play();
As of Curvy 2.2.3, both controllers and splines did have issues with initialization order, which is the cause the bug you encountered. Curvy 2.2.4 was planned to include a code rework of the controllers and splines to fix this issue, other issues, and reduce CPU and memory usage. That work ended up being long enough to be divided into two releases:
- 2.2.4 : Curvy Spline and Curvy Spline Segments (and few fixes for controllers)
- 2.2.5 (which I am working on right now) : Spline Controller and other controllers.
Thank you and have a nice day.