Greetings,
First off, I hope I am not posting this question to wrong section. But since by concern is more focused about how “maximum allowed timestep” affects physics calculations (or if it does at all) I guess I am at the right place.
Unity Manual describes maximum allowed timestep as:
Also I’ve found more details and an example scenario in legacy documentation here:
which -I am guessing- is still valid.
Althoguh descriptions may seem quite clear to many, I still can’t seem to understand its effect on things such as physics calculations, FixedUpdate() intervals etc…
So I will just go ahead and explain the predicament I am in detail.
We have a simple runner type of game where player evades obstacles and collects pickups by giving four directional input (Crouch, jump, move to left lane, move to right lane etc…)
We also have a game mode where two game sessions are started in seperate devices.
In device A, a player plays the game as normal. Their inputs and their corresponding fixed update counts are sent to other game session on device B via network, which are replicated in their respective fixed updates indexes.
Important side notes:
1-) Since device B who is replicating the game starts with a fair amount of delay after device A starts, device B always receives inputs to replicate beforehand (as long as device A doesn’t have horrible performance and runs slower overall) so "replication"s are made at correct fixed update indexes.
2-) We have all of our important logic (such as movement, changes in level speed etc…) handled in fixed updates (or coroutines & “tweens” from 3rd party libraries which work in fixed update intervals) so we have our game sessions synced.
BUT: Here is the thing. In our project, Fixed timestep is set to: 0.0166667 and the maximum allowed timestep is set to 0.3333333. And when testing the game, if we use a low-end device for either device (player device or replicating device) -although quite rarely- they display different pickup counts. As far as I was able to observe, device with low performance miss some of the trigger-enter events so it shows a lower pickup count at the game end.
1-) So can this have anything to do with maximum allowed timestep?
2-) If so, can we make it certain that trigger-enter & exit events work absolutely same across devices with a network model such as this?
3-) Most importantly, what is maximum allowed timestep and what it does & doesn’t do?