I can’t immediately see what is the issue. However I’ve foind overlaps to be a bit unreliable for this, specially when handling the transition from one overlap to another. So what I can do is share what has worked for me in hopes that a different solution might help with your current.
- Create a base class for the conveyors with:
- Spline component.
- A reference to the next conveyors it would “pass” the actors to.
- Float that will represent speed that this conveyor moves the “cargo”.
-
Make child bp of the conveyor base and modify the spline. I made two to test (straight and left turn) and placed them like so:
-
Create an actor component with two variables:
- Current conveyor.
- Float variable for distance along spline.
- Create a manger class with a refrence array of the component in each of the actors that are to be moved in the conveyor. Create a function like this that runs on tick:
Result:
For reference this is how I spawn the boxes for debug in the manager:
You could have the conveyor actors handle the movement, but I’ve found it easier to debug, profile and a bit more performant if everything is in one place.
Hope it helps.