For modeling conveyor systems or any kind of freely moving goods (what is called MU in Game4Automation) on a surface you need to use a Transport Surface.
A Transport Surface is always connected to a Drive which is controlling the speed and position. The Transport Surface needs to be placed on the object which is also including the box collider for the surface itself.
To add a Transport Surface you can use the Game4Automation menu or Add Component on the Gameobject itself. The Transport Surface will be added automatically to the Drive which is next (up in the hierarchy) to the Transport Surface. In some cases, you might need to change it or to add multiple Transport Surfaces to one Drive . You can do this on the Drive itself:
Sometimes Unity Physics is very difficult and the solution to master it is a little bit weird. As described in Physics normal movements of a linear or rotational axis are not done based on movements of Physical Rigid Bodies. The transformation is done based on the Unity hierarchy and the position of Unity’s Transform because this is usually much more stable.
The Transport Surface is different from normal linear or rotational movements of an axis. It is using pure Unity physics functions for transporting the MUs.
This causes one problem. If it is for example necessary to combine a linear or rotational movement with the Transport Surface itself this will cause problems. Unity will not move the Transport Surface Collider as expected.
To prevent this the option Follow Parent is available on the Transport Surface:
This option will automatically decouple the Transport Surface upon simulation start and will make a function as expected possible. During simulation, the Transportsurface will be without a parent in the top level of the hierarchy. You can see an example in the Demo model TurningAndLiftingTransportSurface which can be found under game4automation > Scenes: