Replay Clip Recorder runs in the background, capturing the last 5–60 seconds of gameplay — press a button to save as GIF or MP4. One-click setup, works in every render pipeline.WebGL is not supported.🎬 Instant Replay Clips for Any Unity GameAn always-on ring buffer keeps the last 5–60 seconds of gameplay in memory. When the player wants to share a moment, one button press saves a GIF or MP4. The clip is already captured.✨ FeaturesDrop-in — one component, press Play. No camera setup.Records what the player sees — multi-camera, post-processing, overlay UI included.Always-on ring buffer — NativeArray-backed, zero GC, 1–60 s.GIF — pure C#, median-cut quantization, Bayer / Floyd-Steinberg dithering, transparency.MP4 — H.264 + AAC audio, hardware-accelerated per platform.Every render pipeline — Built-in, URP, URP Render Graph, HDRP. Zero config.Async — background-thread encoding, under 1 ms / frame capture overhead on desktop.Editor tools — settings window, buffer / memory readout, one-click Save Clip.🎮 Works for any genreFPS kill cams, platformer trick jumps, racing crash reels, multiplayer highlights, bug reports, QA playback.💻 PlatformsWindows — MP4 + Audio & GIFmacOS — MP4 + Audio & GIFiOS — MP4 + Audio & GIFAndroid — MP4 + Audio & GIFLinux — GIF only⚙️ CustomisableBuffer duration, FPS, resolution, MP4 bitrate, audio toggle, GIF dither, save path, hotkey — all tweakable in the inspector or at runtime.⚠️ NotesClips save to Application.persistentDataPath. Surfacing the file to players (share sheet, gallery, show-in-folder) is your game's job.WebGL is not supported.📦 CapturePipeline-agnostic — uses ScreenCapture.CaptureScreenshotIntoRenderTexture, works on any render pipelineAsyncGPUReadback — non-blocking GPU readback, no main-thread stallNativeArray ring buffer — zero per-frame GCCoroutine-driven at end-of-frame🎞️ EncodersGIF — pure C#: median-cut quantization, LZW, Bayer 4×4 / Floyd-Steinberg dithering, inter-frame transparencyMP4 — H.264 + AAC, platform hardware encoders (Media Foundation / AVFoundation / MediaCodec)🎛️ Settings (inspector + runtime API)Buffer duration 1–60 sCapture FPS 5–60Resolution presets — 360p / 540p / 720p / 1080p / CustomMP4 bitrate 0.5–20 MbpsGIF dither — None / Bayer 4×4 / Floyd-SteinbergAudio capture toggle, save path, hotkey⚡ PerformanceCapture overhead under 1 ms / frame at 60 fps on desktopEncoding runs on a background thread — no frame freezeMobile builds hard-cap ring buffer at 256 MB to prevent OOM killsParts of the code were created with the help of AI.




