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