I have dice game that I would like to have predictable physics given a seed to my own random number generator. I am using Physics.simulate() called from Update loop as in example.
If I restart the editor and have the dice roll, they land exactly the same way every time. I can play an entire game and get the exact same score.
If I play one game and then try to roll the dice using the exact same seed they behave close but slightly different. Not the same result as when I restart the emulator.
I have tried many combinations of making the rigid bodies kinematic, resetting their velocity and angular velocity etc.
I have turned Physics.autosimulate on then off again.
I have Logged all the values of the dice game objects and and they are all identical except the RigidBody.rotation quaternion, but when printed out they have the same Values and Euler values.
Is there a Physics.HardReset() function that can go through and set all calculations back to 0 like starting a PhysicsScene from scratch, just like starting the editor over?
I am using Unity 2018.4.