I'm considering integrating Bullet into a project and one of the big concerns is networking behavior. The current behavior of the engine it's built on uses an asynchronous update system where where most objects in the world are updated in a single simulation step, but objects controlled by clients are updated independently depending on when updates are received by the server. The client acts similarly, client-controlled objects are simulated at high frequency, but the rest of the world state is only simulated when update frames are received from the server.
I'm mainly wondering if it's possible to do this, given that the Bullet API requires stepping the entire simulation. Are there any caveats to selectively disabling and re-enabling objects to do partial updates, like forces not transferring, or is it reasonably safe (and possible) to do that?