「Instant Replay」を入れたら、起きた後の名場面も保存できた
- 公開
- 正式公開 2025-04-04
- 作り手
- CyberAgent Game & Entertainment(会社)
- 対応
- Unity(2022.3 以降)
- 言語
- 英語・日本語
- 価格
- 無料(MIT ライセンス)
- 評価
- GitHub のスター 156(2026-10-22)
どんなアプリか
Instant Replay is a Unity library for saving recent gameplay footage on demand.
CyberAgent Game & Entertainment、GitHub の README
Instant Replay は、直近のゲームプレイ映像を必要なときに保存するための Unity のライブラリです。映像を一定の長さぶん常にため続けるので、大事な場面が起きた後からでも保存できます。録画の長さはあらかじめ決めておき、それより古いフレームは捨てられます。
README には使い道が2つ挙がっています。プレイヤーが直前のプレイ映像を SNS で共有できる機能をゲームに組み込むことと、バグが起きたときにそこまでのプレイを動画に書き出して再現の手がかりにすることです。
始め方も README に書かれています。サンプルに入っている InstantReplay Recorder.prefab をシーンに置くと、有効なあいだ自動で録画します。RecorderInterface.StopAndExport() を呼ぶと録画を止めて動画を保存し、録った動画が画面で再生されます。
必要なのは Unity 2022.3 以降です。対応表には iOS、Android、macOS、Windows、Linux、Web が載っており、Linux では ffmpeg、Web では WebCodecs に対応したブラウザが必要です。動画は H.264、音声は AAC で書き出されます。
音声は標準ではシーン内の AudioListener から取り込みます。サウンドミドルウェアの CRIWARE と Wwise から音を取り込む仕組みも用意されています。
料金とデータの置き場所
ライセンスは MIT です。
録画した映像は、標準ではメモリに置かれます。圧縮したデータは初期設定で 20 MiB までため、上限に達すると古いデータから捨てられます。もっと長く残したいときは、この値を増やすか、フレームレート・解像度・ビットレートを下げます。
設定を変えると、映像をディスク上のファイルに書き込むこともできます。メモリの負担が減り、アプリが異常終了しても直前までの映像がディスクに残るので、次に起動したときに取り出せます。上限を決めずに MP4 ファイルへ直接書き続ける録画方法も用意されています。
同じ分野のアプリ
| 名前 | 型 | 仕掛け | 対応 | 料金 |
|---|---|---|---|---|
| Instant Replay for Unity | 録画ライブラリ | 直近のプレイ映像をため続け、後から動画として書き出せる | Unity | 無料(MIT) |
| BuildMagic | ビルド管理 | 複数のビルド設定を管理し、ビルドパイプラインを組める | Unity | 無料(OSS, MIT) |
| ResoDynamix | 解像度調整 | 3D と UI の描画解像度を別々に動的に変える | Unity ライブラリ | 無料(OSS、ライセンス要確認) |
| UI Dynamic Sampler | UI 描画 | 大きなテクスチャを小さく表示したときのジャギーを減らす | Unity パッケージ | 無料(OSS, MIT) |
入れる前に
README の対応表は、使っている API やツールをもとに書かれたもので、実際の動作は確かめられていない場合があると断り書きがあります。
WebGL では録画中に画面がちらつくことがある、という既知の問題が書かれています。原因は標準の映像取り込み方法で、Built-in RP や Universal RP 向けの別の取り込み方法に切り替えるよう案内されています。
ディスクに書き続ける設定はフラッシュメモリの寿命を縮めるため、主に開発用や QA 用のビルドを想定していると書かれています。上限なしの録画では、録画中にアプリがバックグラウンドに回ると録画が止まり、ファイルが壊れることがあります。
Bypass Listener Effects を有効にした AudioSource の音は録音されません。