Version: Unity 6.0 (6000.0)
语言 : 中文
使用托管 UWP 插件
创作者原生 UWP 插件

调用并实现原生 UWP 插件

要调用并实现原生通用 Windows 平台 (UWP) 插件,您需要了解如何为 Unity 创建原生插件。有关原生插件及其用途的更多信息,请参阅原生插件

IL2CPP 脚本后端支持用于原生插件的 P/Invoke 机制。这意味着可以直接从 C# 代码中调用原生插件。为此,请指定原生函数原型,然后调用它。

以下示例展示了如何实现原生插件并从 C# 脚本调用它。

  1. 在 Unity 项目中创建一个新的 .cpp 文件,并插入以下原生插件代码:

        extern "C" __declspec(dllexport)
        int __stdcall CountLettersInString(wchar_t* str)
        {
            int length = 0;
            while (*str++ != nullptr)
                length++;
            return length;
        }
    
  2. 创建一个新的 C# 脚本并将其内容替换为以下代码:

    [DllImport("MyPlugin.dll")]
        private static extern int CountLettersInString([MarshalAs(UnmanagedType.LPWStr)]string str);
        
        private void Start()
        {
            Debug.Log(CountLettersInString("Hello, native plug-in!"));
        }
    
  3. 将该组件添加到场景中的游戏对象并进入运行模式。控制台将打印 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!"));
        }
    }
    

其他资源

使用托管 UWP 插件
创作者原生 UWP 插件