유니티 iOS에 플러그인 연결하기
2021. 6. 21. 15:59ㆍ개발/유니티
준비물
최신 mac os, xcode
1. Plugins/iOS/ 내부에 mm확장자의 코드 작성
extern "C" {
int PluginFunc(){
return 999;
}
}
2. C#코드 작성
using System.Runtime.InteropServices;
public static class PluginClass
{
#if UNITY_IOS
[DllImport("__Internal")]
private static extern int PluginFunc();
public static int Number{
get
{
return PluginFunc();
}
}
#endif
}
3. 결과
using UnityEngine;
public class GameManager : MonoBehaviour
{
void Start()
{
Debug.log(PluginClass.Number.ToString());
}
}
콘솔 로그에는 999가 찍힌다.
이를 이용해 iOS의 기능을 사용하거나 오픈소스를 커스텀하는 것도 가능하다.
유니티 공식 문서에서는 name mangling을 피하기 위해 함수를 C링크에 선언해야한다고한다.
또한 유니티에서 플러그인을 호출할때 부하가 상당히 높다고하니, 한 프레임내에서 많은 네이티브 호출은 줄이자.
'개발 > 유니티' 카테고리의 다른 글
유니티 Dictionary를 활용한 저장기능 정리 (0) | 2021.11.10 |
---|---|
유니티에서 웹서버와 POST 통신하기 (0) | 2021.09.30 |
스크롤뷰에서 이벤트핸들러 공유하기 (0) | 2021.05.26 |
유니티에서 sns로 데이터보내기(공유하기) (3) | 2021.04.21 |
유니티 발열 이슈에 관한 정리 (0) | 2021.04.16 |