Legacy Documentation: Version 4.6.2
Language: English
  • C#
  • JS
  • Boo

Script language

Select your preferred scripting language. All code snippets will be displayed in this language.


Suggest a change


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.


Sumbission failed

For some reason your suggested change could not be submitted. Please try again in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.



public static var captureFramerate: int;
public static int captureFramerate;
public static captureFramerate as int


Slows game playback time to allow screenshots to be saved between frames.

If this property has a non-zero value then frame update will occur at an interval of (1.0 / captureFramerate) regardless of real time and the time required to render a frame. This is useful if you want to capture a movie where you need a constant frame rate and leave enough time between frames to save screen images.

// Capture frames as a screenshot sequence. Images are
// stored as PNG files in a folder - these can be combined into
// a movie using image utility software (eg, QuickTime Pro).

// The folder to contain our screenshots. // If the folder exists we will append numbers to create an empty folder. var folder = "ScreenshotFolder"; var frameRate = 25;

function Start () { // Set the playback framerate (real time will not relate to game time after this). Time.captureFramerate = frameRate; // Create the folder System.IO.Directory.CreateDirectory(folder); } function Update () { // Append filename to folder name (format is '0005 shot.png"') var name = String.Format("{0}/{1:D04} shot.png", folder, Time.frameCount ); // Capture the screenshot to the specified file. Application.CaptureScreenshot(name); }
using UnityEngine;
using System.Collections;

public class ExampleClass : MonoBehaviour {
    public string folder = "ScreenshotFolder";
    public int frameRate = 25;
    void Start() {
        Time.captureFramerate = frameRate;
    void Update() {
        string name = String.Format("{0}/{1:D04} shot.png", folder, Time.frameCount);
import UnityEngine
import System.Collections

public class ExampleClass(MonoBehaviour):

	public folder as string = 'ScreenshotFolder'

	public frameRate as int = 25

	def Start() as void:
		Time.captureFramerate = frameRate

	def Update() as void:
		name as string = String.Format('{0}/{1:D04} shot.png', folder, Time.frameCount)