코샵
끄적끄적 코딩 공방
코샵

인기 글

  • 분류 전체보기 (477) N
    • MongoDB (4)
    • 일기장 (4)
    • Unity (138)
      • Tip (41)
      • Project (1)
      • Design Pattern (8)
      • Firebase (6)
      • Asset (2)
    • 파이썬 (127)
      • Basic (40)
      • OpenCV (8)
      • Pandas (15)
      • PyQT (3)
      • SBC(Single Board Computer) (1)
      • 크롤링 (14)
      • Fast API (29)
      • Package (6)
    • Linux (4)
    • C# (97)
      • Algorithm (11)
      • Window (7)
    • TypeScript (46) N
      • CSS (8) N
    • Git (11)
    • SQL (5)
    • Flutter (10)
      • Tip (1)
    • System (1)
    • BaekJoon (6)
    • Portfolio (2)
    • MacOS (1)
    • 유틸리티 (1)
    • 서비스 (6)
    • 자동화 (3)
    • Hobby (10)
      • 물생활 (10)
      • 식집사 (0)
전체 방문자
오늘
어제

최근 댓글

최근 글

반응형
hELLO · Designed By 정상우.
코샵

끄적끄적 코딩 공방

Unity/Tip

Unity의 컨디셔널 컴플리션(Conditional Compilation)

2023. 5. 10. 10:03
반응형
Unity의 컨디셔널 컴플리션은 특정 조건에 따라 코드를 컴파일하거나 제외하는 기능입니다. 이를 통해 특정 플랫폼에서만 실행되는 코드를 작성하거나, 디버그 모드에서만 실행되는 코드를 작성할 수 있습니다. 이 기능은 유니티에서 특정 컴파일러 지시문을 사용하여 구현됩니다.

사용 방법

컨디셔널 컴플리션을 사용하려면 다음과 같은 형식의 지시문을 작성합니다.

#if <condition>
    // code to be compiled if condition is true
#else
    // code to be compiled if condition is false
#endif

여기서 <condition>은 특정 조건입니다. 이 조건은 다양한 방법으로 설정될 수 있습니다. 예를 들어, 다음과 같은 조건을 사용하여 특정 플랫폼에서만 실행되는 코드를 작성할 수 있습니다.

#if UNITY_ANDROID
    // code to be compiled for Android platform
#elif UNITY_IOS
    // code to be compiled for iOS platform
#else
    // code to be compiled for other platforms
#endif

위 코드에서 UNITY_ANDROID와 UNITY_IOS는 유니티에서 미리 정의된 상수입니다. 이러한 상수를 사용하여 특정 플랫폼에서만 실행되는 코드를 작성할 수 있습니다.

또 다른 예로는 디버그 모드에서만 실행되는 코드를 작성할 수 있습니다. 다음과 같은 조건을 사용하여 디버그 모드에서만 실행되는 코드를 작성할 수 있습니다.

#if DEBUG_MODE
    // code to be compiled in debug mode
#else
    // code to be compiled in release mode
#endif

위 코드에서 DEBUG_MODE는 개발자가 직접 정의한 상수입니다. 이러한 상수를 사용하여 디버그 모드에서만 실행되는 코드를 작성할 수 있습니다.

예제

다음은 컨디셔널 컴플리션을 사용하여 특정 플랫폼에서만 실행되는 코드를 작성한 예시입니다.

void Start()
{
    #if UNITY_ANDROID
        Debug.Log("This is an Android device");
    #elif UNITY_IOS
        Debug.Log("This is an iOS device");
    #else
        Debug.Log("This is not an Android or iOS device");
    #endif
}

위 코드에서는 UNITY_ANDROID와 UNITY_IOS 상수를 사용하여 특정 플랫폼에서만 실행되는 코드를 작성하였습니다.

결론

Unity의 컨디셔널 컴플리션은 특정 조건에 따라 코드를 컴파일하거나 제외하는 기능입니다. 이를 통해 특정 플랫폼에서만 실행되는 코드를 작성하거나, 디버그 모드에서만 실행되는 코드를 작성할 수 있습니다. 이러한 기능을 제대로 활용하면 다양한 상황에서 코드의 유연성을 높일 수 있습니다.

저작자표시 비영리 변경금지 (새창열림)

'Unity > Tip' 카테고리의 다른 글

GameObject의 Missing Script 삭제 자동화  (0) 2023.05.17
Unity에서 유용한 클래스 이름  (1) 2023.05.13
Unity Debuging  (0) 2023.05.09
Unity에서 플레이 중 Recompile을 해제하는 방법  (0) 2023.04.23
Unity에서 데이터 저장 할 때 팁  (0) 2023.03.29
    'Unity/Tip' 카테고리의 다른 글
    • GameObject의 Missing Script 삭제 자동화
    • Unity에서 유용한 클래스 이름
    • Unity Debuging
    • Unity에서 플레이 중 Recompile을 해제하는 방법
    코샵
    코샵
    나의 코딩 일기장

    티스토리툴바