Unity 2019.3から、あれこれ自作せずともやっと、ようやく、悲願の非同期スクリーンキャプチャが出来るようになりました。 前提知識として、Unity APIの呼び出しは、一部のAPIを除いてメインスレッドからの呼び出しのみが許可されています。レガシーな同期アプローチは検索すると吐いて捨てるほど出てくるのでそっちを見てください。 スクリーンキャプチャの流れは3工程あり、バージョンアップを経て段階的に非同期可能になっています。 レンダーテクスチャのシステムメモリへの読み戻し 画像ファイルフォーマットへのエンコード ファイル書き込み 1は、ScreenCapture.CaptureScreenshotIntoRenderTexture が2019.1で追加され、ようやく非同期でシステムメモリに読み戻せるようになりました。 1で読み戻したメモリはレンダーテクスチャに指定したフォーマットのバイ
