프로그래밍/Unity

if 전처리기를 통한 플랫폼 대응 유니티 프로그래밍

gameObject 2023. 10. 5. 23:49
728x90

전처리기의 역할

- 전처리기는 소스코드가 컴파일 될 때, 소스코드를 정리를 해주는데 사용됩니다.

- 다양한 플랫폼에 대응하여 코드를 작성 시 유용합니다.

전처리기 설정

Project Settings - Player - OtherSettings - Script Compilation 에서 Define Symbols을 정의하여

실제 빌드시 실행시킬 코드를 지정을 해 줄 수 있다.

* 여기서 전처리기의 역할 중 하나인 다양한 플랫폼 대응을 떠올릴 수 있다.

-> 안드로이드 빌드때는 안드로이드 심볼을, IOS 빌드시에는 IOS심볼을 정의해 주면 된다.

 

정의를 한 뒤에는 아래와 같이 코드를 작성해주면 된다.

if문과 굉장히 비슷하다

#iF

#elif

#endif

실제로 이번에 VR을 사용해보는 수업을 들으며 사용한 코드이다.

 

#if 에서는 PC플랫폼일 경우 아래 값 실행을 뜻하고

#elif 에서는 OCULUS를 사용할 경우 실행,

#else 에서는 그 이외의 상황

#end if 에서는 if문을 종료시킨다.

 

색이 활성화된 코드와 비활성화되어 회색빛을 가진 코드를 볼 수가 있는데

그 차이가 아까 위에서 Define Symbol에 넣어주었는가 넣지 않았는가의 차이이다.

 

이외에도 디버그 모드를 위해 사용을 하게되면 유용할것으로 생각된다.

 

유니티에서 지원하는 플랫폼별 Define Symbol

https://docs.unity3d.com/kr/2018.4/Manual/PlatformDependentCompilation.html

728x90