본문 바로가기
개발/Unity

Unity) 플랫폼 의존 컴파일

by 테샤르 2020. 2. 12.

플랫폼 의존 컴파일

Unity는 “플랫폼 의존 컴파일”이라는 기능이 있는데 Unity의 특성상 멀티 플랫폼을 지원하다 보니 생긴 기능으로

스크립트에 해당 플랫폼에 대한 정의를 하게되면 해당 플랫폼일 때 분기를 처리가 가능하다 사용법은 다음과 같다.\

#if UNITY_EDITOR

   //유니티 에디터에서 실행될 스크립트 코드

#endif
반응형

 

유니티로 개발을 하는 이유는 원소스 멀티 플랫폼 빌드를 지원하기 때문이라고 생각한다. 그 외 여러 가지 에디터적인 엔진 이점도 있지만  다중 플랫폼을 개발해야 하는 개발 입장에서는 원소스 멀티 빌드는 굉장히 이점이라고 생각한다.

 

유니티에서 지원하는 플랫폼 매크로는 다음과 같다.

플랫폼 매크로 정의

UNITY_EDITOR Unity 스크립트에서 지원하는 플랫폼 매크로 정의 :
UNITY_EDITOR_WIN Windows에서의 플랫폼 정의 에디터 코드.
UNITY_EDITOR_OSX Mac OSX에서의 플랫폼 정의 에디터 코드.
UNITY_STANDALONE_OSX Mac OS (Univeral, PPC 및 Intel 아키텍처 포함) 의 코드 컴파일 / 실행을 위한 플랫폼 매크로 정의.
UNITY_STANDALONE_WIN Windows 독립 실행형 응용 프로그램 코드를 컴파일 / 실행하고 싶을 때 사용합니다.
UNITY_STANDALONE_LINUX Linux 독립 실행형 응용 프로그램 코드를 컴파일 / 실행하고 싶을 때 사용합니다.
UNITY_STANDALONE 모든 독립 실행형 응용 프로그램(Mac, Windows 또는 Linux)의 코드를 컴파일 / 실행하고 싶을 때 사용합니다.
UNITY_WII Wii 콘솔 코드 컴파일 / 실행을 위한 플랫폼 매크로 정의.
UNITY_IOS iOS 플랫폼에서 코드 컴파일/실행을 위한 플랫폼 매크로 정의
UNITY_IPHONE Deprecated. Use UNITY_IOS instead.
UNITY_ANDROID Android 플랫폼의 플랫폼 매크로 정의.
UNITY_PS3 PlayStation 3에서 코드 컴파일 / 실행을 위한 플랫폼 매크로 정의.
UNITY_PS4 PlayStation 4에서 코드 컴파일 / 실행을 위한 플랫폼 매크로 정의.
UNITY_SAMSUNGTV XBox 360 코드의 컴파일 / 실행을 위한 플랫폼 매크로 정의.
UNITY_XBOX360 XBox 360 코드의 컴파일 / 실행을 위한 플랫폼 매크로 정의.
UNITY_XBOXONE XBox One 코드의 컴파일 / 실행을 위한 플랫폼 매크로 정의.
UNITY_TIZEN Android 플랫폼의 플랫폼 매크로 정의.
UNITY_TVOS Android 플랫폼의 플랫폼 매크로 정의.
UNITY_WP_8 Windows Phone 8 플랫폼 매크로 정의.
UNITY_WP_8_1 Windows Phone 8.1 플랫폼 매크로 정의.
UNITY_WSA #define directive for Windows Store Apps. Additionally, NETFX_CORE is defined when compiling C# files against .NET Core.
UNITY_WSA_8_0 SDK 8.0을 타케팅했을 때의 Windows Store Apps 플랫폼 매크로 정의.
UNITY_WSA_8_1 SDK 8.1을 타케팅했을 때의 Windows Store Apps 플랫폼 매크로 정의.
UNITY_WSA_10_0 #define directive for Windows Store Apps when targeting Universal Windows 10 Apps. Additionally WINDOWS_UWP and NETFX_CORE are defined when compiling C# files against .NET Core.
UNITY_WINRT Equivalent to UNITY_WP_8 | UNITY_WSA.
UNITY_WINRT_8_0 Equivalent to UNITY_WP_8 | UNITY_WSA_8_0.
UNITY_WINRT_8_1 Equivalent to UNITY_WP_8_1 | UNITY_WSA_8_1. This is also defined when compiling against Universal SDK 8.1.
UNITY_WINRT_10_0 Equivalent to UNITY_WSA_10_0
UNITY_WEBGL WebGL 플랫폼 매크로 정의.
UNITY_ADS Unity 스크립트에서 지원하는 플랫폼 매크로 정의 :
UNITY_ANALYTICS Unity 스크립트에서 지원하는 플랫폼 매크로 정의 :
UNITY_ASSERTIONS #define directive for assertions control process.

 

URL : https://docs.unity3d.com/kr/530/Manual/PlatformDependentCompilation.html

 

유니티 - 매뉴얼: 플랫폼 의존 컴파일

자동 메모리 관리를 이해하기 플랫폼 의존 컴파일 Unity는 “플랫폼 의존 컴파일”이라는 기능이 있습니다. 여기에는 몇 가지 전 처리기 지시문이 포함되어, 스크립트를 ’파티션화’하여 코드의 일부 섹션을 지원하는 하나의 플랫폼 독점적으로 실행할 수 있게 됩니다. 또한 코드를 에디터 내에서 실행할 수 있기 때문에, 코드를 모바일/콘솔에 대해 컴파일 한 후 에디터에서 테스트할 수 있습니다. 플랫폼 매크로 정의 Unity 스크립트에서 지원하는 플랫폼 매크로 정의

docs.unity3d.com

★☆

반응형

댓글