02-02-2026, 12:09 AM
Hello all, I hope you are well. I have a problem which has halted my initial onboarding to Curvy Splines and I would really appreciate some help.
I have a basic Spline with four control points, and an example game object with a Spline Controller attached. The example game object has no colliders or rigidbodies attached, and exists only as a base Unity GameObject, with some Monobehaviours (unrelated to movement) attached.
I attached a Spline Controller to the aforementioned game object, and when "Play Automatically" is ticked - it follows the spline as expected, including abiding by constraints, and emitting expected events. This is the desired behaviour.
However, if I untick "Play Automatically", and instead call "Play()" the object does not follow the spline as expected. The PlayState is updated, but the object does not move. I have also wrapped any usage in a Coroutine to test if I need to wait for the Spline to be initialized, but this has made no difference.
I have watched all of the tutorials online numerous times which set Position to 0, and the Position Mode, and have replicated this exactly. However, Play() does not begin movement.
I then resorted to writing my own movement script, following the exact usage as found here:
Using controller via API - Curvy Splines tutorial
However, this meant that Events "OnEndReached" were not triggered successfully - and that's something I would need.
Any help to get this to work as expected would be much appreciated.
For clarity, my desired behaviour is:
I have a basic Spline with four control points, and an example game object with a Spline Controller attached. The example game object has no colliders or rigidbodies attached, and exists only as a base Unity GameObject, with some Monobehaviours (unrelated to movement) attached.
I attached a Spline Controller to the aforementioned game object, and when "Play Automatically" is ticked - it follows the spline as expected, including abiding by constraints, and emitting expected events. This is the desired behaviour.
However, if I untick "Play Automatically", and instead call "Play()" the object does not follow the spline as expected. The PlayState is updated, but the object does not move. I have also wrapped any usage in a Coroutine to test if I need to wait for the Spline to be initialized, but this has made no difference.
I have watched all of the tutorials online numerous times which set Position to 0, and the Position Mode, and have replicated this exactly. However, Play() does not begin movement.
I then resorted to writing my own movement script, following the exact usage as found here:
Using controller via API - Curvy Splines tutorial
However, this meant that Events "OnEndReached" were not triggered successfully - and that's something I would need.
Any help to get this to work as expected would be much appreciated.
For clarity, my desired behaviour is:
- I would like to trigger "Play" (and subsequently "Pause") at any time via code and have the Spline Controller reach as expected.
- I would rather use the Spline Controller if available as I can take advantage of its additional properties in a convenient manner (such as Clamping etc)
- I need the events to fire at their expected intervals, such that I can then react to it via code

