Because I’m not using constraint-like behaviour, the physics I’m doing is too complex to represent with some constraints. For one, I’m actively changing the speed of physics and that’s not something you can do with constraints. I’m also adjusting the physics behavior of certain specific objects in more complex ways than what I could feasibly represent with constraints without a ton of attachments sitting in every single part in the entire game, that’s just not going to happen.
I doubt I could even represent this sort of stuff with constraints since constraints are, well, constraints, and, my goal isn’t to manipulate objects within the physics engine my goal is to add new features to the physics engine that don’t already exist.
And, even with constraints, it still doesn’t fix the issue I’m running into, I want to know when the client is able to control some objects, particularly automatically owned objects. The client knows whether or not another client is already doing physics stuff.
My own use case is not really perfectly representative of why this feature is useful either. There are a lot of times where you’d want to know if the local client has control of something. For example, for vehicles, if the client isn’t the one controlling the physics there are certain things you wouldn’t want to do that you might generally do locally.
A lot of vehicles, including the endorsed models on the Toolbox iirc do some physics or animation related stuff client sided and you usually don’t want to do that stuff when the vehicle isn’t owned, being able to know if the client has physics control would make it a lot less hacky to prevent duplicated physics without having to wait for various data to go through.
A lot of stuff is throttled differently when it comes to networking so not every piece of data tells you if you’ve received another piece of data from the same time, you can’t for example rely on a remote call to know if the network ownership info is up to date.
With my current code that results in things that were previously owned by the server simulating without any physics changes for a good second or two until my remote call goes through to tell the client that the parts are owned by them now.