How to handle small physics objects that don't need to be synced?

I have some physics objects that are small clutter and only collide with kinematic physics objects, so they don't actually affect anything. So I'm wondering if these should be 'client side' or if I should just stick with the truesync methods SyncedInstantiate/SyncedDestroy etc

As far as i know, this would mean they will be synced on rollbacks, when they really don't need to be.


  • Hi keeps, if you have objects that don't need to be synced you can use Unity's physics, it has better performance. Any object that you add in TrueSync physics will do a huge different soon or later, even if they don't touch anything, a simple change in order could lead to a desync in multiple clients.
  • @JeffersonHenrique For these small objects, they still collide with kinematic grounds/walls, so if i were to give them unity physics, that means all those grounds/wall pieces will also need unity rigidbodies and colliders, which will be components alongside their TS equivalent components on the same gameobject.. is this okay?
  • Hello @keeps, no, this will not be good. I think for your description that you objects need to use ts physics, because they can interact in somehow with other ts objects.
  • well kinda.. the interaction is only one way... I only want them to collide with *kinematic* grounds/walls, so they don't actually affect any tsobjects, because kinematics are unaffected by forces
  • I got it, but as the physics must be deterministic you can't do additional steps in the physics engine resolution only in one machine, a simple extra loop interaction could lead the physics to differ in a few frames, which will lead to a desync.