플랫폼 의존 컴파일
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) 3D Audio Sound (0) | 2020.02.21 |
---|---|
Unity) 스크립트에서 자동으로 컴포넌트 추가하기 (0) | 2020.02.18 |
Unity) NevMesh 사용해서 길찾기 (0) | 2020.01.10 |
코드) Unity 마우스 위치로 유닛 이동 (0) | 2020.01.08 |
Unity) Mac / Window 에서 VScode 스크립트 자동정렬 (0) | 2020.01.06 |
댓글