네이티브 UWP(유니버설 Windows 플랫폼) 플러그인을 호출하고 구현하려면 Unity용 네이티브 플러그인을 생성하는 방법을 알아야 합니다. 네이티브 플러그인과 그 사용법에 대한 자세한 내용은 네이티브 플러그인을 참조하십시오.
IL2CPP 스크립팅 백엔드는 네이티브 플러그인에 대해 P/Invoke 메커니즘을 지원합니다. 즉, C# 코드에서 직접 네이티브 플러그인을 호출할 수 있습니다. 이렇게 하려면 네이티브 함수 프로토 유형을 지정하고 호출합니다.
다음 예시는 C# 스크립트에서 네이티브 플러그인을 구현하고 호출하는 방법을 보여 줍니다.
Unity 프로젝트에서 새 .cpp 파일을 생성하고 다음 네이티브 플러그인 코드를 삽입합니다.
extern "C" __declspec(dllexport)
int __stdcall CountLettersInString(wchar_t* str)
{
int length = 0;
while (*str++ != nullptr)
length++;
return length;
}
새 C# 스크립트를 생성하고 콘텐츠를 다음 코드로 바꿉니다.
[DllImport("MyPlugin.dll")]
private static extern int CountLettersInString([MarshalAs(UnmanagedType.LPWStr)]string str);
private void Start()
{
Debug.Log(CountLettersInString("Hello, native plug-in!"));
}
씬의 게임 오브젝트에 컴포넌트를 추가하고 플레이 모드를 시작합니다. 콘솔에 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!"));
}
}