Why not have both, with Adaptive doing automatic frequency assignment and Fixed letting you set a value? I’m sure many experienced developers would love to have those options to get Roblox closer to the customizability of Unity and Unreal engine.
The whole point of adaptive (at least, in my point of view) is that those who don’t want to deal with manually optimizing physics, don’t have games that require consistent physics (like physics-based puzzle games), or just don’t really understand how to mess with physics can just use Adaptive to do the job for them, while Fixed lets more experienced developers control how they can optimize their games and maintain consistency in their own ways.
I love this however when using a bodyposition and adaptive timestepping. the stepping starts rapidly swapping between 240hz and 120hz resulting in erratic and spontaneous movements
the part just stays mid-air without rotating at all like its expected to
here’s a copy of the place file: Adaptive timestepping bodyposition bug.rbxl (26.0 KB)
the only thing added is a single part with a bodyposition and the only property changed on the bodyposition is the maxforce
this bug can be reproduced by simply adding a bodyposition to any part whilst having adaptive timestepping enabled
I think having Fixed as an option would be good for games where the physics are highly constrained and expected to behave in very specific ways; having an automatic system running in the background which might decide to change the frequency at seemingly random points will result in less predictable simulation.
Automatic is obviously more desirable for games where the physics are more dynamic, like maybe in one moment you have a perfectly rigid block tower, and in the next moment, the tower blows up. But for games where the physics is expected to behave consistently, even though a well designed automatic system should hold a steady simulation rate, it’s just one extra variable that one might want to eliminate that could potentially introduce problems in some edge cases in the future.