Collision stops working in-game

I have a strange case where collision stops working after a while.

A conveyor belt moves items across a spline. Items should not move further if the position is blocked by another item. I want to do this without physics because precision is important in this case.

My Setup:

  • The Item is an Actor Blueprint with a Box Collision as Root Component which is an “Item” Object Type and blocks only “Item” Objects Types
  • Conveyor Belt is an Actor Blueprint with a Box Collision that overlaps “Item” Object Types and move them on Tick
  • Item Movement is done with Set Actor Location and Sweep which is calculated by a direction and speed

This works until suddenly the Item collisions stop colliding and the entire Items move to the end of the belt and overlap each other.

What I have tried so far:

  • Replaced the Box Collision Root Component of the Item with an actual Mesh with Simple Collision (Cube)
  • Added a Multibox Trace for Objects before moving the Items to check if there is no other overlapping Item that blocks the movement
  • Added a delay between moving each Item
  • Replaced the Movement with an AI “Move to Location”

None of the above solutions make any different. The collision seams to not hit anymore after a while.

See it in action in this Youtube Video

Could this be a bug?

  • Made a completely new Actor for the Items but still same problem. Now it also ends overlapping the Belt if the error occures
  • Added a 2nd Collision Box but this one also loses its collision
  • Made a Scene as Root component but same problem
  • Replaced Box Collision with a Sphere which makes no difference
  • Replaced Box Collision with a Mesh that has complex collision, still same problem

The problem ocures when the actor who should move other objects has a lower framerate than the game itself. Don’t use custom tick rate or set the global tick rate