문제 재정의된 비교 연산자 MonoBehaviour 인스턴스가 null인지 아닌지 확인하고 싶을때 보통 이렇게 코드를 작성한다. if(myGameObject == null) { } 하지만 유니티는 == 연산자를 재정의해 사용하고 있기 때문에 생각과는 다르게 동작한다. 우선 유니티가 왜 이렇게 재정의해서 사용하게 됐는지 알아보자. 왜 그랬을까? 먼저 요약하자면 유니티는 다음 두가지의 이유로 ==를 재정의해서 사용한다. 에디터에서의 디버깅 용이성 C/C++로 이루어진 내부 구현과 C# 래퍼 오브젝트, 그로 인한 오브젝트 생명주기의 차이 디버깅 용이성 첫 번째로, Inspector에서 보여지는 필드들(public, SerializedField)에 대한 디버깅 용이성이다. Monobehaviour가 어떤 필드를..
Unity
Jenkins젠킨스 설치하면 유니티 플러그인이 없는 상태로 설치될텐데, 플러그인부터 깔고 유니티 플러그인 관련 설정을 해줘야한다.1. Unity3d 플러그인 설치[Jenkins 관리] > [Plugins] > [Available Plugins] 탭 클릭 > Unity검색해서 Unity3d plugin 다운로드2. Unity 실행 경로 설정[Jenkins 관리] > [Global Tool Configuration] > [Unity3d] 에서 [Add Unity3d] 클릭 > Name에 버전명, Installation directory에 유니티 에디터 경로 설정(예를 들면 C:\Unity\2021.3.5.f1\) > [Save] 및 [Apply] 3. 프로젝트의 빌드 구성대시보드에서 생성한 프로젝트의 [구성..