이 설정을 보려면 Unity 에디터의 프로젝트 창으로 이동하여 플러그인 파일을 선택한 다음 인스펙터 창에서 Platform settings > Universal Windows Platform(Windows 아이콘)을 선택합니다.
프로퍼티: | 기능: |
---|---|
SDK | 드롭다운을 사용하여 플러그인이 Any SDK 또는 특정 SDK와 호환되게 합니다. |
CPU | 드롭다운을 사용하여 플러그인이 Any CPU 와 호환되게 하거나 플러그인을 32-bit, 64-bit, 또는 ARM 플레이어로 제한합니다. |
Don’t process (관리되는 어셈블리에만 해당) |
이 체크박스를 선택하여 현재 어셈블리에 대해 패칭을 비활성화합니다. 어셈블리에 Unity 에디터에서 직렬화하는 클래스가 있는 경우 패치해야 합니다. 이 경우 Unity 에디터는 추가 IL 코드를 어셈블리에 삽입합니다. 어셈블리에 클래스가 없다는 사실을 알고 있는 경우 패칭을 비활성화해도 안전합니다. 참고: Unity 에디터는 어셈블리에 직렬화 코드를 삽입하므로 MonoBehaviour에서 파생된 클래스가 플러그인에 있고 Unity 에디터가 이를 패칭하지 않는 경우 런타임 중에 직렬화 오류가 발생할 수 있습니다. |
Placeholder (관리되는 어셈블리에만 해당) |
유니버설 Windows 플랫폼을 통해 .NET 코어에 대해 플러그인을 컴파일할 수 있지만, Unity 에디터는 Mono에서 실행되므로 이런 어셈블리를 인식하지 못합니다. 따라서 C#나 JS 파일에서 어셈블리를 레퍼런스할 수 없습니다. 이 문제를 우회하려면 실제 플러그인의 플레이스홀더 역할을 하는 API가 동일한 .NET 3.5에 대해 컴파일된 어셈블리를 제공해야 합니다. 다음 섹션인 플레이스홀더 플러그인 을 참조하십시오. |
자세한 내용은 플러그인 인스펙터 문서를 참조하십시오.
Windows 런타임 API를 사용할 때에는 Unity 에디터에서 유니버설 Windows 플랫폼 관련 플러그인을 사용할 수 없습니다. 여기에서는 Unity 에디터에서 이 문제를 처리하는 방법에 대해 설명합니다.
플러그인을 Unity 에디터에서 사용하지 않고 유니버설 Windows 플랫폼에만 사용하려는 경우 플레이스홀더를 만들지 않아도 되지만, 플러그인 API를 사용하는 코드에 다음을 래핑해야 합니다.
# if !UNITY_EDITOR
// Plugin code
# endif
플러그인을 유니버설 Windows 플랫폼과 Unity 에디터에 모두 사용하려는 경우 플레이스홀더가 필요합니다. 다음 플러그인 두 개를 만드십시오.
두 플러그인 모두 같은 이름을 공유해야 하고 어셈블리 버전이 같아야 합니다. Unity 에디터의 플레이스홀더 플러그인은 UnityEditor.dll 을 레퍼런스할 수 없습니다. 레퍼런스할 경우 Unity 에디터가 오류를 생성합니다.
에디터에서 플랫폼을 할당하는 방법은 다음과 같습니다.
Unity 에디터의 프로젝트 창에서 에디터 호환 플레이스홀더 플러그인을 선택합니다. 인스펙터 창에서 Select platforms for plugin 으로 이동하여 Editor 를 유일한 호환 플랫폼으로 선택합니다.
Unity 에디터의 프로젝트 창에서 유니버설 Windows 플랫폼 호환 플레이스홀더 플러그인을 선택합니다. 인스펙터 창에서 Select platforms for plugin 으로 이동하여 Universal Windows Platform 을 유일한 호환 플랫폼으로 선택합니다.
유니버설 Windows 플랫폼의 인스펙터 창에서 Placeholder 필드를 에디터 호환 플레이스홀더 플러그인으로 설정합니다.
이렇게 하면 유니버설 Windows 플랫폼을 타겟으로 빌드하는 경우 Unity 에디터가 스트립트를 컴파일할 때 에디터 호환 플레이스홀더 플러그인을 사용하지만, 유니버설 Windows 플랫폼 호환 플러그인을 마지막 폴더로 복사합니다. 이 경우 Unity 에디터는 스크립트를 성공적으로 컴파일하지만 빌드된 게임 자체에서는 유니버설 Windows 플랫폼 관련 플러그인의 API를 계속 사용하는 두 가지 결과로 이어집니다.
• 2017–05–16 일부 편집 리뷰를 거쳐 페이지 수정됨