Call and implement native UWP plug-ins
Understand how to call and implement native plug-ins.
Read time 1 minuteLast updated 12 days ago
To call and implement native Universal Windows Platform (UWP) plug-ins, you need to know how to create native plug-ins for Unity. For more information about native plug-ins and their uses, refer to Native plug-ins.
IL2CPP scripting backend supports the P/Invoke mechanism for native plug-ins. This means that you can call into native plug-ins directly from your C# code. To do this, you specify the native function prototype and then call it.
The following examples show you how to implement a native plug-in and call it from a C# script.
-
Create a new .cpp file in your Unity project and insert the following native plug-in code:extern "C" __declspec(dllexport) int __stdcall CountLettersInString(wchar_t* str) { int length = 0; while (*str++ != nullptr) length++; return length; }
-
Create a new C# script and replace its contents with the following code:[DllImport("MyPlugin.dll")] private static extern int CountLettersInString([MarshalAs(UnmanagedType.LPWStr)]string str); private void Start() { Debug.Log(CountLettersInString("Hello, native plug-in!")); }
-
Add the component to a GameObject in your scene and enter Play mode. The console will print 22.using UnityEngine;public class ExamplePlugin : MonoBehaviour{ [DllImport("MyPlugin.dll")] private static extern int CountLettersInString([MarshalAs(UnmanagedType.LPWStr)]string str); private void Start() { Debug.Log(CountLettersInString("Hello, native plug-in!")); }}