Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.
CloseFor some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.
CloseThe 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
.
See Also: Application.targetFrameRate
using UnityEngine;
public class Example : MonoBehaviour { void Start() { // Sync the frame rate to the screen's refresh rate QualitySettings.vSyncCount = 1; } }
See Also: Quality Settings.