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