Unity は低レベルのネイティブプラグインインターフェースに加えて、特定のイベントが発生するとコールバックを受け取る低レベルのレンダリング拡張もサポートしています。低レベルのレンダリング拡張は主に、プラグインで低レベルのレンダリングを実装し制御するために使用され、Unity のマルチスレッドレンダリングを利用可能にします。
この拡張子の低レベルの性質により、デバイスを作成する前にプラグインのプリロードが必要な場合があります。現在、規則は名前ベースです。プラグイン名は GfxPlugin で始まる必要があります (例えば、GfxPluginMyNativePlugin)。
Unity がアクセス可能なレンダリング拡張の定義は Unity エディターによって提供され、IUnityRenderingExtensions.h ファイルにあります (ファイルパスは Unity\Editor\Data\PluginAPI)。
ネイティブプラグインをサポートするすべてのプラットフォームがこれらの拡張をサポートします。
レンダリング拡張の長所を生かすために、プラグインは UnityRenderingExtEvent と、必要に応じて UnityRenderingExtQuery をエクスポートする必要があります。インクルードファイルには多くのドキュメントが含まれています。
Unity がビルトインイベントの 1 つをトリガーするときはいつでも、 UnityRenderingExtEvent 経由でプラグインが呼び出されます。さらに、そのコールバックは、スクリプトの CommandBuffer.IssuePluginEventAndData か CommandBuffer.IssuePluginCustomBlit 経由で CommandBuffers に追加することができます。