Version: 2022.3
言語: 日本語
マネージ 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 プラグインの作成
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961