- Home /
Best FPS cap for mobile builds
Whats your thoughts about setting static 60fps cap for mobile games nowadays? Should devs sets fps cap to max refresh rate of phone screens? Can higher framerate couse some issues with consistent of what is actually happening on the scene on various fps? I know its safer to stick with 60fps but what about people with better phones with 90/120 Hz screens?
You can give them the option if you wish. Personally, I go with the lowest framerate the game is an enjoyable experience at as framerate isn't everything and if your game causes their phone to get hot and drains their battery in a short time, they are going to stop playing it.
Answer by bloeys · Aug 09, 2020 at 01:50 AM
Gameplay wise there won't be any issues generally, as long as you use Time.deltaTime to make your game framerate independent. The biggest effects of framerate on mobile will probably be battery life and smoothness.
Running at a higher framerate will allow people with better phones to have a smoother gameplay experience and better input response for everyone regardless of screen refresh rate. Locking at a framerate can also help reduce stutter from framerate fluctuation.
The downside of higher framerate however is lower battery life and more heat. One thing you can do is to potentially give players an option to change the target framerate (e.g. 30, 60, 120, unlimited), and you can set the default framerate to say the current refresh rate of the user's device.
But how can you make an option menu where players can select the framerates they want (30 fps, 60 fps,....)?
Just add "Dropdown" UI element, rename options with 30fps, 60fps etc and add OnValueChanged script (example: link).
In your function depending on what value player choose you can set fps cap like this:
Application.targetFrameRate = 60;
Application.targetFrameRate = Screen.currentResolution.refreshRate;