It’s good that ROBLOX is allowing “Fixed” to continue being an option, but I don’t know why it is being forced upon games that are set to “Default.” It’s really unnecessary, and with how many issues have been reported in this thread with “Adaptive” mode, it’s not a good idea, in my opinion, to make that the “Default.”
There are a ton of legacy games that still have a solid and large(r) playerbase, but don’t have a super active developer support to them, that will almost certainly get ruined because the developer(s) weren’t around to switch the settings.
This update to me is going to have a similar effect to what happened when “Filtering Enabled” was forced upon all games in 2018, which you will see a lot of popular legacy games become broken and not get fixed. At least FE being forced back then served a point (much better security was mandated, the exploits in those days were insane), this really doesn’t serve any point whatsoever to force “Adaptive” mode to be the default.
I am actually concerned about this update, as it might adversely affects some ROBLOX clans. The apps people use for ROBLOX is called FPS unlocker, which help the players run ROBLOX smoothly without any interruptions or glitches. There should be a way around it to make it also compatible with FPS unlocker. Also I am aware of glitches and bugs posted on here, and I really hope you guys can fix it to make sure it run smoothly. If you manage to make it compatible with FPS unlocker, ROBLOX could easily become one of the best MMO around.
We are trying to avoid going down the route where we provide this API for individual assemblies. Instead there will be a more detailed option on the PhysicsSteppingMethod where developers may tune the aggressiveness of the system.
I understand that this will appear simpler and easier for newer developers, although I think that if you guys plan to remove “Fixed” from PhysicsSteppingMethod, it would be a good idea to still allow developers to overwrite the simulation rate on assembly basis with a simple property to ensure that important assemblies like cars will get prioritized to avoid edge cases with the automatic system.
Bit off-topic but, can we expect a physics related feature to allow developers to run custom physics loop at fixed rate (eg. 50hz) independently from the frame rate? I am currently working on raycast based chassis and I am running into major issues when trying to ApplyImpulseAtPosition() every Hearbeat as it is inconsistent and gets effected by frame rate and because of it the car behavior becomes unstable due to lifting force being applied inconsistently.
Unity has FixedUpdate function that is called at fixed rate independently from the frame rate. Heartbeat seems to be to tied to the frame rate.
Yes. A callback loop that is synced with the physics rate (not the frame rate) is one of our projects we plan to be working on very soon. We understand that there is a need for this.
I hope that they implement my suggestion of having property SimulationRate (or something on the lines of it) that will allow us to overwrite the stepping rate for assemblies that are important or not working well with the automatic system. I think that it’s relatively good solution to this problem.
We promise that whatever that will be replacing Fixed will be stable as Fixed. Currently we only have 2 settings, Fixed and Adaptive (which is set to be slightly aggressive).