Native Screen Recorder & Instant Replay 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

by nfcodes (opens in new tab)

1 rating, too few to average

  • 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.

Discount -48% Previous price $49.99 Price $25.99

Lowest recorded price

Get 48% off on Asset Store (opens in new tab)

Affiliate link · Purchases support this site

Price history

Last 6 months

USD
Price history for Native Screen Recorder & Instant Replay, 6 months Current $25.99; lowest $25.99; highest $49.99 in this period. $0 $25 $50 Aug Sep Oct Nov

Asset preview

1 / 6

Native Screen Recorder & Instant Replay screenshot 1

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

Render pipelines supported in each Unity version
Unity version Built-in URP HDRP Custom
2022.3.62f3 Compatible Compatible Compatible Compatible

As listed on the Asset Store.