Version: 2017.4
Low-level native plug-in interface
Low-level native plug-in Shader compiler access

Low-level native plug-in rendering extensions

On top of the low-level native plug-in interface, Unity also supports low level rendering extensions that can receive callbacks when certain events happen. This is mostly used to implement and control low-level rendering in your plug-in and enable it to work with Unity’s multithreaded rendering.

Due to the low-level nature of this extension the plug-in might need to be preloaded before the devices get created. Currently the convention is name-based; the plug-in name must begin GfxPlugin (for example: GfxPluginMyNativePlugin).

The rendering extension definition exposed by Unity is in the file IUnityRenderingExtensions.h, provided with the Editor (see file path Unity\Editor\Data\PluginAPI).

All platforms supporting native plug-ins support these extensions.

Rendering extensions API

To take advantage of the rendering extension, a plug-in should export UnityRenderingExtEvent and optionally UnityRenderingExtQuery. There is a lot of documentation provided inside the include file.

plug-in callbacks on the rendering thread

A plug-in gets called via UnityRenderingExtEvent whenever Unity triggers one of the built-in events. The callbacks can also be added to CommandBuffers via CommandBuffer.IssuePluginEventAndData or CommandBuffer.IssuePluginCustomBlit from scripts.


  • New feature in Unity 2017.1 NewIn20171

  • 2017–07–04 Page published

Low-level native plug-in interface
Low-level native plug-in Shader compiler access
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961