First of all, great job with Coherence – I really appreciate your work!
I’ve run into an issue that I can’t seem to resolve.
In my project, I have kinematic objects (blocks) with all Rigidbody constraints enabled (position and rotation frozen except position Y). The red vehicle has authority over the block and should be able to move or interact with it, while the yellow vehicle does not have authority and should not be able to affect the block physically.
However, the issue is that the yellow (non-authority) player can still push or slightly displace the kinematic blocks, even though isKinematic = true and the block is remote on that client. I’ve triple-checked the block’s authority state and Rigidbody settings, and everything appears to be correct.
I’ve tried various approaches, including changing interpolation settings, disabling physics interpolation, and freezing all Rigidbody constraints. Still, the issue persists. I’ve also tried with a more clean code and other objects and still have the same problem. I’ve also checked the documentation several times but it feels like I’ve missed something.
I’ve attached a video to demonstrate the problem.
Do you have any suggestions or workarounds for making sure that only the player with authority can affect the physics of a kinematic object, and that all others are completely passive?
Is it by any chance due to the yellow vehicle moving the block in the red vehicle’s simulation?
That is, in red’s simulation the yellow vehicle is getting close enough to the block to actually displace it slightly, and since red has authority over the block and that block is non-kinematic on his simulation, it can be moved even if remote entity comes close enough.
If that’s the case, I would consider making the block kinematic on the authority side as well, and disable it only when the red vehicle starts interacting with it.
Another idea would be to make it zero-out the physics state if the forces are below a certain threshold.
I thought I had checked the component settings several times, but it turns out I had missed this detail. It works now after disabling the colliders on the yellow vehicle when it’s a remote object. The positions were being affected before, probably due to local physics interactions host (red vehicle). With these settings, I can now move through the yellow vehicle using the red one, since it no longer detects the other’s colliders — but I’ll handle that properly through code later. Thanks again!