Unity C# スクリプトから C/C++/C# 関数を呼び出す
Call functions from your C or C++ code in your Unity project.
読み終わるまでの所要時間 3 分最終更新 1ヶ月前
Unity プロジェクトで、C、C++、または C# プラグインから関数を呼び出すことができます。
Unity は Emscripten を使用して、C/C++/C# コードのソースを WebAssembly にコンパイルします。そのため、C/C++/C# コードでプラグインを作成し、Unity C# スクリプトからこれらの関数を呼び出すことができます。
JavaScript プラグインから関数を呼び出すには、Unity C# スクリプトから JavaScript 関数を呼び出すを参照してください。
C/C++/C# プラグインを Unity プロジェクトにインポートする
Unity プロジェクトで C/C++/C# プラグインコードから関数を呼び出せるようにするには、プラグインを Unity プロジェクトにインポートする必要があります。
JavaScript プラグインファイルを などの任意のフォルダーに配置します。
Assets/JSPluginsUnity で使用できる C++ コードの例
C++ (.cpp) を使用してプラグインを実装する場合、名前マングリング問題を避けるために、関数を C リンケージ () で宣言する必要があります。以下のコードは、Unity プロジェクトで呼び出し可能な簡単な関数のある C++ プラグインの例です。
extern “C”#include <stdio.h>extern "C" void Hello (){ printf("Hello, world!\n");}extern "C" int AddNumbers (int x, int y){ return x + y;}
ノート: Unity は Emscripten バージョン 2.0.19 ツールチェーンを使用します。
Unity プロジェクトで以下の Unity C# コードを使用し、C++ 関数を呼び出します。
using UnityEngine;using System.Runtime.InteropServices;public class NewBehaviourScript : MonoBehaviour { [DllImport("__Internal")] private static extern void Hello(); [DllImport("__Internal")] private static extern int AddNumbers(int x, int y); void Start() { Hello(); int result = AddNumbers(5, 7); Debug.Log(result); }}