02-05-2026, 07:37 PM
(02-04-2026, 10:29 PM)_Aka_ Wrote: Hi,
I fixed the issue by modifying your CubeController so that the call to CubeMovement.BeginMovement is delayed to after the SplineController's initialization is finised. You can find a modified version of your CubeController attached to this post.
Explanation of the issue:
In your original code, BeginMovement was called directly after Instantiate(cube), before Unity automatically calls the SplineController's Start() method, which happens later that frame. BeginMovement would set the SplineControlle's state to "Playing", indirectly by calling Play(), but the initialization done in Start() would initialize the state to Stopped, which lead to the undesired behaviour.
I hope this helped.
If and when you feel like it, please leave a review for the asset, that helps a lot.
Have a nice day.
Thanks very much, this is exactly what I needed! I really appreciate your help in finding this and for taking the time to reply, it really made a difference to the momentum of the project, so thank you again.
I was unaware that the Spline controller had it's own Initialization that I had to wait for, and so I had set WaitUntil's for the Splines Initialisation, but not the Spline Controller.
Out of interest, is there a reason that on Initialisation, it would override any values supplied before it? Doesn't it stand to reason that as part of the construction (i.e. before the call of the first frame after it's instantiated), that values could be set (such as the desired play state) before it's first call to start?

