
Remember that these headers are specific to a version of Unity, so it's important to keep them in sync with the Editor. The headers you are interested in are IUnityInterface.h and IUnityGraphics.h, which declare the interfaces needed for the plugin. In fact, Unity 5.5 adds the missing hooks to allow you to register a low-level plugin:įirst of all, you need to copy the Plugin API headers from the Unity install path Editor/Data/PluginAPI to the location that will contain your plug-in source file(s). So, since we can use C/C++ sources, what’s stopping us from accessing the Low-Level plugin interface for rendering purposes? Well… nothing in Unity 5.5 -) In the Unity User Manual, there are a couple of examples of both JavaScript and C plugins that demonstrate how to interact with them via scripts.

However, Unity WebGL does support several other types of plugins: JavaScript, C/C++ and pre-compiled LLVM byte code. What about native plugins? Does it even make sense to talk about something “native” on the web? When referring to native as something specific to the underlying architecture (mac, win32/64, etc.), it certainly does not.


The only difference is that the managed assembly of the plug-in is converted, along with the engine and user’s managed code, to JavaScript (asm.js/wasm to be specific). On WebGL, managed plugins are supported like on other platforms. Unity supports two types of plugins: managed and native.
