로우레벨 네이티브 플러그인 인터페이스 외에도 Unity는 특정 이벤트가 발생할 때 콜백을 수신할 수 있는 로우레벨 렌더링 확장 기능을 지원합니다. 이는 주로 플러그인의 로우레벨 렌더링을 구현 및 제어하고 Unity의 멀티스레드 렌더링과 함께 사용할 수 있도록 하는 데 사용됩니다.
확장 기능의 로우레벨 특성으로 인해, 기기가 생성되기 전에 플러그인을 미리 로드해야 할 수 있습니다. 현재 규칙은 이름 기반이며, 플러그인 이름은 GfxPlugin_으로 시작해야 합니다(예: GfxPluginMyNativePlugin_).
Unity에서 노출되는 렌더링 확장 기능 정의는 IUnityRenderingExtensions.h 파일에 있으며, 에디터와 함께 제공됩니다(파일 경로 Unity\Editor\Data\PluginAPI 참조).
네이티브 플러그인을 지원하는 모든 플랫폼에서 이 확장 기능이 지원됩니다.
렌더링 확장 기능을 사용하기 위해서는 플러그인이 UnityRenderingExtEvent 및 UnityRenderingExtQuery(선택 사항)를 익스포트해야 합니다. include 파일에는 다양한 기술 자료가 있습니다.
Unity가 빌트인 이벤트 중 하나를 트리거할 때마다 플러그인은 _UnityRenderingExtEvent_를 통해 호출됩니다. 이런 콜백은 현재 CommandBuffer.IssuePluginEventAndData 또는 CommandBuffer.IssuePluginCustomBlit을 통해 CommandBuffers에 추가됩니다.