[C#] Warning 숨기기 에 이어서 Unity3d 환경에서 Warning을 숨길 수 있는 방법을 알아보자.
C# 포스팅에선 Warning disable을 기준으로 전처리에 대한 내용을 정리했다면, Unity3d에선 커스텀 스크립팅 심볼까지 추가적으로 알아보자.
| RSP 파일을 통한 설정
// 커스텀 Define Symbol 정의
-define:FOO_BAR
// Warning Disable
-nowarn:1234
우선 전처리 지시문을 작성한 뒤
csc.rsp 파일을 <ProjectPath>/Assets 폴더 하위 위치시키면 된다.
※smcs.rsp, mcs.rsp 파일을 지원 중단 예정
| 에디터를 통한 설정
File > Build Settings > Player Settings > Player > Script Compilation / Additional Compiler Arguments

- 커스텀 Define Symbol의 경우 Scripting Define Symbols 섹션에 `+` 버튼을 클릭 후 내용을 입력
- 추가적인 컴파일 인수는 Additional Compiler Arguments 섹션에서 `+` 버튼을 클릭 후에 지정
- 커스텀 스크립팅 심볼 - Unity 매뉴얼
| 스크립트를 통한 설정
- PlayerSettings.SetScriptingDefineSymbolsForGroup
- BuildPlayerOptions.extraScriptingDefines
- Build.Player.ScriptCompilationSettings-extraScriptingDefines
위 3가지 API를 사용해서 스크립팅 심볼을 정의할 수 있다.
다만, PlayerSettings.SetScriptingDefineSymbolsForGroup 의 경우 주의 사항이 몇 가지 있다.
- 해당 메서드는 즉시 적용되지 않고, 스크립트를 다시 컴파일 하지 않음
- 배치 모드에서 헤드리스로 실행되기 때문에 editor loop(스크립팅 심볼이 다시 컴파일 되는)가 발생하지 않음
따라서 즉시 적용하려면 csc.rsp 파일을 비동기적 상황에선 API를 이용해야 한다.
| 관련
반응형
'Workspace > Unity3d' 카테고리의 다른 글
SerializeField와 ? 연산자 (0) | 2023.03.24 |
---|---|
[Unity3d] Exception occurred inside BeeDriver: System.IO.IOException 이슈 (0) | 2023.03.24 |
[UnityEditor] Preferences/Settings 커스텀 설정 추가 가이드 (0) | 2023.03.24 |
[Unity3d] clang++: error: unable to execute command: Killed: 9 (0) | 2023.03.24 |
[Addressable] System.MissingMethodException: Default constructor not found for type에러 (0) | 2023.03.14 |