2023. 12. 29. 12:03, Unity
Assert.IsNotNull() 을 이용해서 null인 경우 프로그램을 종료시키는 방법에 관해서 알아보던 도중에 그러한 코드를 에디터 환경과 디버그 환경에서만 동작하도록 하는 형태의 코드를 작성하는 방법에 대해서도 추가적으로 알아보았다.
이와 관련된 정보는 gpt를 통한 검색으로 추가한다.
아래와 같은 형태로 작성하면 unity editor와 debug 환경에서만 assert 기능을 사용할 수 있게 되고, 프로덕션 환경(릴리스 빌드) 에서는 해당 코드가 영향을 미치지 않게 할 수 있다.
Unity에서는 Assertion을 무시하도록 하는 방법이 있습니다. Assert 구문을 사용할 때에는
`UNITY_EDITOR`와 `DEBUG` 프리프로세서 지시어를 이용하여 디버그 모드에서만 동작하도록
설정할 수 있습니다. 프로덕션 환경에서는 이러한 구문이 무시되게 할 수 있습니다.
다음은 예시 코드입니다:
```csharp
#if UNITY_EDITOR || DEBUG
Assert.IsNotNull(textAsset);
#endif
```
이렇게 하면 `UNITY_EDITOR` 또는 `DEBUG` 프리프로세서 지시어가 정의되어 있는 경우에만
`Assert.IsNotNull(textAsset)` 구문이 컴파일되고 실행됩니다. 프로덕션 환경에서는 이 지시어가
정의되어 있지 않으므로 해당 구문은 무시됩니다.
주의: 위 코드에서 `UNITY_EDITOR`는 에디터에서 실행되는 경우를 의미하며, `DEBUG`는 디버그
모드에서 실행되는 경우를 의미합니다. 디버그 모드에서 실행하거나 에디터에서 실행할 때에는
Assertion이 동작하며, 릴리스 빌드(프로덕션 환경)에서는 이러한 Assertion이 무시됩니다.
'Unity' 카테고리의 다른 글
AudioSource의 재생과 ObjectPooling에서 Invoke 를 사용하는 방법과 coroutine을 사용하는 방법에 관하여. (0) | 2024.01.01 |
---|---|
getter 와 setter의 사용에 대하여. (0) | 2023.12.30 |
UnityEvent 를 이용해서 subscribe 하고 Invoke를 통해서 모든 구독한 메서드들을 실행시키는 형태의 코드 . (0) | 2023.12.28 |
Sprite Atlas , Batch , Draw Call (0) | 2023.12.14 |
유니티 Game view controller bar 에서, Low Resolution Aspect Ratios (0) | 2023.12.14 |
Comments, Trackbacks