View on Asset Store (opens in new tab)
Package details
- Latest version
- 1.0.0
- Last updated
- First released
- Unity version
- 2022.3.62 or later
- Package size
- 1.3 MB
- Files
- 54
- Favorites
- 4
- Views in the past week
- 17
Price tracking
- Last checked
- Tracked since
- Lowest recorded
- $25.99 on
Keywords
Native Screen Recorder & Instant Replay
- Price drop
Native, hardware-accelerated H.264/HEVC screen recording for Unity. ReplayKit on iOS, MediaCodec on Android. Video capture, instant replay, screenshots, browser dashboard. Software fallback included.
Lowest recorded price
Get 48% off on Asset Store (opens in new tab)Affiliate link · Purchases support this site
Price history
Last 6 months
USDAsset preview
1 / 6
Native Screen Recorder & Instant Replay screenshot 1
About this asset
Native Screen Recorder & Instant Replay is the screen-capture toolkit we wished we had on every project. Bug repros that are faster to record than to describe. An Instant Replay feature that lets players save the last moments of gameplay on demand. Trailer footage pulled straight from a device. One package, three problems solved properly. Built natively where it matters.
Add a single MonoBehaviour and drop it to the scene, then call its API. That's the entire setup. The facade is DontDestroyOnLoad
EXAMPLE USAGE
// --- Screenshots ---
recorder.TakeScreenshot(jpeg => { /* ... */ });
// --- Manual recording (start/stop) ---
recorder.StartRecording();
recorder.StartRecording(() => Debug.Log("recording started"));
recorder.StopRecording(mp4 => File.WriteAllBytes(path, mp4));
// --- Fixed-duration recording ---
recorder.RecordFor(10, mp4 => File.WriteAllBytes(path, mp4)); // records for 10s
// --- Instant replay (rolling buffer) ---
recorder.StartInstantReplay();
recorder.StartInstantReplay(() => Debug.Log("replay buffer running"));
recorder.SaveInstantReplay(15, mp4 => Save(mp4)); // Saves last 15s
recorder.SaveInstantReplay(0, mp4 => Save(mp4)); // Saves entire buffer
recorder.ClearInstantReplayBuffer(); // drop all buffered frames without stopping the replay
recorder.StopInstantReplay();
// --- HTTP dashboard server ---
recorder.StartHttpServer();
recorder.StartHttpServer(8080);
recorder.StopHttpServer();
// --- State queries ---
if (recorder.IsRecording) { /* ... */ }
if (recorder.IsInstantReplayRecording) { /* ... */ }
if (recorder.IsHttpServerRunning) { /* ... */ }
// --- Configuration & logging ---
recorder.Initialize(myConfig); // re initialize recorder with a new config
ScreenRecorderFacade.SetLogger(myLogger); // set your custom logger for recorder
// --- UniTask integration (optional, when UniTask is installed) ---
byte[] jpeg = await recorder.TakeScreenshotAsync(ct);
await recorder.StartRecordingAsync(ct);
byte[] mp4 = await recorder.StopRecordingAsync(ct);
byte[] mp4 = await recorder.RecordForAsync(10, ct);
await recorder.StartInstantReplayAsync(ct);
byte[] clip = await recorder.SaveInstantReplayAsync(15, ct);
byte[] clip = await recorder.SaveInstantReplayAsync(0, ct);
NATIVE WHERE IT MATTERS
Mobile recording goes through the platform's own hardware encoders, not a CPU readback loop. This means:
- Full game framerate
- Full game resolution
- No thermal cliff.
- No dropped frames or any additional bottleneck.
• iOS - ReplayKit + AVAssetWriter. The included Xcode build post-processor links ReplayKit.framework and writes the required Info.plist keys for you.
• Android - MediaProjection + MediaCodec + MediaMuxer behind a foreground service. Manifest is merged into your build automatically.
• Editor and other platforms - Pure C# software pipeline.
Choose H.264 or HEVC. Bitrate, framerate, and keyframe interval are configurable with the presets.
INSTANT REPLAY
A rolling in-memory buffer that records continuously in the background. Just call SaveInstantReplay and the last N seconds become an MP4 clip.
Buffer length is configurable from 1 second up to 10 minutes, with its own independent quality settings so you can run the Instant Replay buffer lighter than your on-demand recordings without compromising either.
DEBUG DASHBOARD
The package ships with a built-in browser dashboard, served by an embedded HTTP server. Open it on browser, point it at the device's IP, and trigger recordings, instant replays, and
screenshots from your PC while your game runs on a phone in your hand. No cables, no third-party tools, no screen-sharing apps.
Easy save/share your recordings and screenshots from device via dashboard!
Turn it on in development. Leave it off in release builds.
EASY CUSTOMIZABLE
Package allows you to configure almoast everything that matters via ScreenRecorderConfig ScriptableObject with a custom inspector!
• Recorder mode (native or software)
• Native presets: Low, Medium, High, VeryHigh, or Custom
• Codec: H.264 or HEVC
• Match Application.targetFrameRate, or override it
• Software path: output resolution, target FPS, JPEG quality
• Independent settings for normal recordings and the Instant Replay buffer
• Instant Replay buffer length: 1 to 600 seconds (up to 10 minutes)
Different settings per scene or requirements? Just create two seperate configs and swap them! As simple as that!
UNITASK SUPPORT
Every public API method has it's UniTask extension method that lights up automatically if UniTask is in your project.
WHAT YOU GET
• Full C# source included
• iOS native plugin and Xcode build post-processor
• Android native plugin and SDK-validating build pre-processor
• Pure C# software encoder that works everywhere out of the box.
• Embedded HTTP server and the browser dashboard (optional but helpfull)
• AndroidPermissionHelper for front-loading the MediaProjection consent dialog
• App Store-ready privacy manifest (PrivacyInfo.xcprivacy) included
• Runnable Basic Usage demo scene, importable from Package Manager
• Full documentation.
From the publisher's Asset Store listing.
Technical details
Recording
• Native MP4 recording on iOS (ReplayKit + AVAssetWriter) and Android (MediaProjection + MediaCodec + MediaMuxer)
• Hardware-accelerated H.264 and HEVC encoders
• Configurable bitrate, framerate, and keyframe interval, presets, etc.
• Pure C# software-pipeline fallback for Editor and every other platform.
Instant Replay
• Continuous rolling in-memory buffer
• Configurable buffer length, from 1 second up to 10 minutes (1–600 s)
• Independent quality settings, separate from on-demand recording
• SaveInstantReplay(seconds) — save the last N seconds of the buffer to MP4 on demand
Screenshots
• Full-screen capture including Screen Space Overlay UI
• JPEG output with configurable quality
HTTP Server & Dashboard
• Embedded HTTP/REST server, off by default
• Built-in browser dashboard, served by the package. Zero setup, no external assets
• Remote-control recording, Instant Replay, and screenshots from any device on the same network
• Auto-stop on app background, auto-restart on resume
Build Integration
• Xcode build post-processor (iOS): auto-links ReplayKit.framework, writes required Info.plist keys
• Android library AndroidManifest.xml automatically merged into the host build
• Android SDK-validating build pre-processor
• App Store-ready PrivacyInfo.xcprivacy privacy manifest included
Compatibility
• Unity 2022.3.62 LTS or newer
• iOS 11+ for native path (ReplayKit)
• Android minSdkVersion 24+ for native path; lower targets fall back to software automatically
• Windows, macOS, Linux Standalone use the software path
• Full C# source included — no DLLs
Compatibility
| Unity version | Built-in | URP | HDRP | Custom |
|---|---|---|---|---|
| 2022.3.62f3 | Compatible | Compatible | Compatible | Compatible |
As listed on the Asset Store.