The number of vertical syncs that should pass between each frame.
An integer.vSyncCount
specifies the number of screen refreshes your game allows to pass between frames. In the Unity Editor, this corresponds to the VSync Count property under Project Settings > Quality > Other.
The default value of vSyncCount
is 0. In the default case, Unity doesn't wait for vertical sync.
Otherwise, the value of vSyncCount
must be 1, 2, 3, or 4.
Depending on your target platform, use either vSyncCount
or Application.targetFrameRate to set your application frame rate.
When you use vSyncCount
, Unity calculates the target frame rate by dividing the platform's default target frame rate by the value of vSyncCount
. For example, if the platform's default render rate is 60 fps and vSyncCount
is 2, Unity tries to render the game at 30 frames per second.
Mobile platforms ignore vSyncCount
. On mobile devices, when a frame is ready, it displays the next time the screen refreshes. You can use Application.targetFrameRate to control the frame rate on mobile platforms.
VR platforms ignore vSyncCount
. Instead, the VR SDK controls the frame rate.
On all other platforms, Unity ignores the value of targetFrameRate
if you set vSyncCount
.
Additional resources: Application.targetFrameRate
using UnityEngine;
public class Example : MonoBehaviour { void Start() { // Sync the frame rate to the screen's refresh rate QualitySettings.vSyncCount = 1; } }
Additional resources: Quality Settings.