Unity 스크립팅 API 가이드
이 문서에서는 Unity의 스크립팅 아키텍처, IL2CPP 지원 및 Windows 런타임 API와의 통합을 간단히 알아보겠습니다. 본 내용은 Unity 버전 2022.3 기준으로 작성되었습니다.
IL2CPP 개요
IL2CPP는 Unity에서 .NET 코드를 C++로 변환하는 시스템입니다. 이를 통해 Unity는 다양한 플랫폼에서 성능을 최적화할 수 있습니다. Windows 런타임 지원을 적용하면 네이티브 Windows API와 통합하여 사용할 수 있습니다.
Windows 런타임 지원 활성화
Windows 런타임 지원을 활성화하기 위해서는 다음의 단계를 수행해야 합니다:
- Player 설정 열기
Edit > Project Settings
를 선택합니다.Player
카테고리를 선택합니다.- Configuration 섹션 설정
Api Compatibility Level
을.NET 4.6
또는.NET Standard 2.0
으로 설정합니다.- 이 설정은 선택한 빌드 플랫폼에 따라 달라질 수 있습니다.
- 커스텀 .winmd 파일 가져오기
- 필요한 .winmd 파일을 Unity 프로젝트 폴더로 임포트합니다.
플러그인 인스펙터
를 사용하여 파일을 해당 플랫폼에 맞게 설정합니다.
Windows Runtime 지원 확인
다음의 C# 코드를 사용하여 프로젝트에서 Windows 런타임 지원이 활성화되어 있는지 확인할 수 있습니다:
void Start() {
#if ENABLE_WINMD_SUPPORT
Debug.Log("Windows Runtime Support enabled");
// Put calls to your custom .winmd API here
#endif
}
이 지시문은 C# 스크립트에서만 사용 가능하며, Windows와 관련이 없는 스크립트에서는 무시됩니다.
활용 및 응용 예제
예제 1: Windows API 호출
Windows API를 호출하여 시스템 정보를 가져오는 예제입니다.
void GetSystemInformation() {
#if ENABLE_WINMD_SUPPORT
// Custom .winmd API 호출 코드
#endif
}
예제 2: 사용자 정의 데이터 구조체 사용
커스텀 데이터를 정의하고 .winmd 파일과 함께 사용하는 방법입니다.
struct CustomData {
public int id;
public string name;
}
예제 3: 이벤트 처리
Windows 런타임 API에서 제공하는 이벤트를 처리하는 예제입니다.
void OnEventTriggered() {
#if ENABLE_WINMD_SUPPORT
// 처리할 이벤트 코드
#endif
}
결론
Unity에서 IL2CPP와 Windows 런타임 API를 활용하면 더욱 효율적이고 강력한 애플리케이션을 개발할 수 있습니다. 위의 예제를 참고하여, 필요에 맞게 커스텀 API를 생성하고 활용해 보세요.