ScreenshotKit Documentation
Current Latest version 1.0
// === GETTING STARTED ===
ScreenshotKit is a Unity Editor tool for capturing high-quality screenshots and animated GIFs directly from the Editor, without ever entering Play Mode. It lives in the Scene View toolbar as a compact overlay, and opens into a full settings window for deeper control. It supports URP, HDRP, and the Built-in render pipeline.
// --- Opening the Window ---
Open the main interface from the Unity menu bar via Tools > ScreenshotKit > Settings Window, or click the gear icon in the Scene View overlay. The window will dock like any other Editor panel. The minimum size is 440 x 520 pixels, so it works well as a side panel alongside the Scene View.
The header bar always shows the active render pipeline (URP, HDRP, or Built-in) and the current output resolution at a glance.
// --- The Scene View Overlay ---
The overlay appears in the Scene View toolbar and gives you four quick-access buttons without needing to open the main window.
// _ Each button is described in detail in its relevant chapter. _
The Settings button (gear icon) is a dropdown that surfaces the most common toggles: applying resolution presets, toggling transparent background, toggling open-folder-after-capture, opening the save folder, and jumping to the full settings window.
// --- Pipeline Detection ---
ScreenshotKit automatically detects which render pipeline your project is using. No configuration is needed. The active pipeline is displayed in the header bar of the main window. Some features, such as transparent background combined with post-processing, have known limitations depending on pipeline. The tool will warn you with a HelpBox when a combination is unsupported.
// === CAPTURE ===
The Capture tab is your primary workspace. It handles single-shot screenshots, Scene View captures, batch multi-camera captures, and shows a live preview of recent outputs.
// --- Resolution ---
Set a Width and Height in pixels. These are the base dimensions before the multiplier is applied. Three quick-set buttons let you jump to common sizes instantly: Game View (reads the current Game View resolution automatically), 1080p (1920 x 1080), and 4K (3840 x 2160).
The Size Multiplier is a powerful way to capture at higher resolutions than your display supports. A multiplier of 2 on a 1920 x 1080 base will output a 3840 x 2160 image. The current effective output resolution is always visible in the header bar of the main window.
// _ The header bar formula is: width * sizeMultiplier x height * sizeMultiplier _
// --- Capture Options ---
Transparent Background renders the scene with the camera background cut out entirely, producing a PNG with an alpha channel. For this to work, the camera's Clear Flags must be set to Solid Color with its background color alpha value set to 0. Transparent capture and post-processing cannot be used simultaneously; the tool will display a warning if both are enabled at once.
Include Post-Processing controls whether post-processing effects (bloom, color grading, depth of field, etc.) are included in the output. Disable it to capture a clean, unprocessed render.
Render Selected Mattes is a shortcut that automatically runs all enabled matte passes from the Mattes tab alongside your main screenshot. This is useful for building a complete compositing package in a single click. See Chapter 4 for a full description of the available passes.
// --- Quick Capture ---
Quick Capture renders a screenshot from a single selected camera. A camera dropdown in this section lets you pick which camera to use. If no camera is explicitly assigned, the tool will fall back to Camera.main, and if that is also absent, it will find any camera in the scene.
Press Take Screenshot or use the configured keyboard shortcut (shown as a reminder below the button). After a successful capture, a notification appears in all open Scene Views displaying the saved filename.
// --- The Scene View Overlay: Capture Buttons ---
The overlay provides two capture buttons accessible directly from the Scene View toolbar.
Quick Capture (image icon) fires the same Quick Capture logic described above, using the camera assigned in settings.
Capture Scene View (orbit icon) captures exactly what the Scene View camera is currently showing. This is useful for capturing editor-perspective shots, level design documentation, or progress screenshots without needing a runtime camera. The Scene View camera is temporarily renamed "SceneView" for filename purposes and then restored.
Focus Camera (orbit icon) aligns the Scene View to the perspective of the selected camera. It first looks for a Camera component on the currently selected GameObject in the Hierarchy. If none is found, it falls back to the Quick Capture camera assigned in settings. If neither is available, it shows a dialog prompting you to select a camera or assign one in the settings window.
// --- Keyboard Shortcuts ---
Both capture actions support fully configurable keyboard shortcuts active whenever a Scene View is focused. The current shortcuts are displayed under the Quick Capture button and can be changed in the Settings tab. Shortcuts accept any combination of Ctrl, Shift, and Alt alongside a standard key.
// _ Shortcuts only fire when the cursor is over an active Scene View. _
// --- Batch Capture ---
Batch Capture fires a sequential screenshot from multiple cameras in one action. Add cameras individually using the reorderable camera list, or click Add All Scene Cameras to populate the list automatically. Cameras can be dragged to reorder them, and the list can be cleared entirely with Clear All.
Set a Delay Between Captures (in seconds) if your scene requires settling time between shots, for example when cameras trigger visual effects on enable.
The Capture All button shows a live progress bar while capturing. On completion, a dialog reports how many succeeded out of the total. If any succeeded and Open Folder After Capture is enabled, the folder will open automatically.
// _ Only valid (non-null) cameras are counted and captured. _
// --- Recent Screenshots ---
The Recent Screenshots section shows thumbnail previews of the last 10 screenshots saved to your output folder, arranged in two rows of five. Clicking any thumbnail opens its location in the system file explorer. Press Refresh to manually reload the thumbnails after external changes to the folder.
// === GIF ===
The Gif tab records animated GIFs from the Game View during Play Mode. All settings are configured before entering Play Mode; recording is then started and stopped with the controls in the Recording Controls section.
// --- Recording Settings ---
Frame Rate sets how many frames per second the GIF records. A set of preset values is available (for example 12, 24, 30 fps), plus a Custom option that exposes a slider ranging from 1 to 244 fps. Higher frame rates produce smoother animation but significantly larger files.
Resolution controls the scale of the GIF relative to the current output resolution. Reducing resolution is one of the most effective ways to keep file sizes manageable, since GIF is inherently a large format.
Max Duration caps the recording length in seconds, between 1 and 60 seconds. Recording automatically stops when this limit is reached.
Loop determines whether the GIF plays once and stops, or repeats continuously. For most game showcase use cases, looping is preferred.
// --- Quality ---
The Quality dropdown controls the color depth and dithering strategy used when encoding the GIF.
// _ GIF is limited to 256 colors per frame. Dithering simulates more colors by mixing pixels. _
Below the quality selector, a live readout shows the effective output dimensions, frames per second, total frame count, and an estimated file size in MB based on your current settings. Use this to sanity-check your settings before recording.
// --- Capture Camera ---
Select which camera the GIF recorder uses. This is the same shared Quick Capture camera used across the tool. A dropdown lists all cameras currently in the scene.
// --- Recording Controls ---
Recording must be performed during Play Mode. The Recording Controls section draws the start and stop buttons for the GIF recorder. While recording, a live indicator shows progress. While the GIF is being processed and encoded after recording stops, a processing indicator is shown. The window repaints automatically during both states so feedback is always current.
// _ Enter Play Mode first, then use the Recording Controls to start capturing. _
// === MATTES ===
The Mattes tab renders technical passes for use in compositing software. Each pass is saved as a separate image file alongside your regular screenshots. This is inspired by the Cryptomatte workflow used in VFX production.
// --- Select Outputs ---
Enable any combination of the following passes. Each enabled pass produces its own output file with a suffix appended to the filename.
Object ID renders each unique GameObject as a flat, solid color. Objects that share the same name may share a color depending on the segmentation mode. Use this to isolate individual objects in compositing.
Material ID renders each unique material as a distinct flat color. Objects using the same material will share a color. Useful for color-grading or replacing materials in post.
Alpha / Mask renders all objects as pure white on a pure black background. This is the simplest cutout mask and is useful as a general-purpose alpha channel or holdout matte.
Depth (Linear) renders scene depth as a greyscale gradient where 0 (black) is the camera near plane and 1 (white) is the far plane. The range is controlled by the camera's clip plane settings. Use this for depth of field, fog, or atmospheric effects in compositing.
Depth (Raw) renders the raw values from the depth buffer without linearization. This is useful when your compositing tool or custom shader expects non-linear depth data.
Lightmaps renders the baked lightmap contribution on scene objects against a transparent background. This is useful for isolating lighting data for relighting workflows in post.
// --- Segmentation Mode ---
The Mode dropdown controls how objects are grouped when generating ID-based passes (Object ID and Material ID). Different modes will group or separate objects differently. For example, one mode might assign colors per-object, another might group by name or by tag. Choose the mode that best matches your compositing intent.
// --- Camera and Render ---
Select which camera renders the matte passes using the Render Camera dropdown. A Find Main button auto-assigns Camera.main if you want to reset the selection quickly.
The Render Selected Passes button fires all enabled passes immediately. It is disabled if no passes are selected or no camera is assigned. A dialog reports how many passes were saved and where.
// _ Matte passes use the same resolution and size multiplier as your main captures. _
When Render Selected Mattes is enabled in the Capture Options (Chapter 2), matte passes also fire automatically alongside every Quick Capture, so you can always get your full compositing package without extra steps.
// === SETTINGS ===
The Settings tab controls how and where files are saved, the filename structure, image format, resolution presets, and keyboard shortcuts.
// --- Save Location ---
Relative to Project toggles between saving files relative to your Unity project root (portable, version-control friendly) or to an absolute system path (useful for saving outside the project, for example to a shared network drive or desktop folder).
The Folder field accepts a path typed manually or chosen via the Browse button, which opens a native folder picker. The resolved full path is always shown below the field as a read-only reference. Open Folder reveals the folder in the system file explorer, creating it first if it does not yet exist.
// --- File Format ---
Choose between PNG, JPEG, and TGA.
PNG is lossless and supports transparency, making it the best default for most cases. JPEG is smaller but lossy and does not support alpha channels. TGA is commonly used in game pipelines and some compositing applications, and supports transparency.
// _ Matte passes follow the same format setting as regular screenshots. _
// --- Filename Format ---
ScreenshotKit builds filenames from a series of toggleable components. A live preview at the bottom of the section shows exactly what the next file will be named based on your current settings.
Prefix is a fixed string placed at the start of every filename. Leave it empty to start with the camera name or timestamp.
Include Camera Name appends the name of the camera used for the capture. This is on by default and is especially useful for batch captures where multiple cameras produce files in the same folder.
Suffix is a fixed string placed after the camera name.
Include Resolution appends the effective output dimensions (width x height after multiplier) to the filename.
Include Timestamp appends the current date and time. When enabled, a Format sub-field appears accepting any valid C# DateTime format string. For example yyyy-MM-dd_HH-mm-ss produces a sortable timestamp. The timestamp format is the same one used for GIF files.
// _ A filename might look like: screenshot_MainCamera_3840x2160_2025-06-14_12-30-00.png _
// --- Options ---
Open Folder After Capture automatically opens the save folder in the system file explorer after every successful capture, including batch captures and matte passes. This is a convenience toggle for when you want to immediately review output without navigating manually.
// --- Resolution Presets ---
Presets let you store and reapply resolution configurations with a single click. The active preset (matching the current width and height exactly) is highlighted in green with an Active label. Click Apply on any preset to set the width and height immediately.
Remove any preset using the - button on its row. Add new presets by entering a name, width, and height in the fields at the bottom of the section. Use Current pre-fills the new preset fields with the currently active resolution. Click + Add to save it to the list.
// _ Presets are stored in the ScreenshotSettings ScriptableObject alongside all other settings. _
// --- Keyboard Shortcuts ---
Two shortcuts can be configured: one for Quick Capture and one for Scene View Capture. Each shortcut is built from an optional combination of Ctrl, Shift, and Alt modifiers plus a key selected from a full KeyCode dropdown. The current shortcut string for each is shown as a mini-label above the configuration row.
Both shortcuts are active only when a Scene View window has keyboard focus. A HelpBox in this section reminds you of this constraint.
// _ To disable a shortcut, set the key to None. _
