다른 어셈블리의 유형에 종속되는 유형(예: 클래스 또는 구조체)을 포함하는 어셈블리는 반드시 다른 어셈블리에 대한 레퍼런스가 있어야 합니다. 인스펙터 창에서 Assembly Definition 프로퍼티를 설정하여 어셈블리 간의 레퍼런스를 제어할 수 있습니다. 자세한 내용은 Assembly Definition 프로퍼티 레퍼런스를 참조하십시오.
기본적으로 사전 정의된 어셈블리는 Assembly Definition을 사용하여 생성된 어셈블리(1), 프로젝트에 플러그인으로 추가된 사전 컴파일된 어셈블리(2)를 비롯한 다른 모든 어셈블리를 참조합니다. 또한 Assembly Definition 에셋을 사용하여 생성된 커스텀 어셈블리는 모든 사전 컴파일된 어셈블리(3)를 자동으로 참조합니다.
기본 설정의 경우 사전 정의된 어셈블리의 클래스는 프로젝트의 다른 어셈블리에서 정의된 모든 유형을 사용할 수 있습니다. 마찬가지로, Assembly Definition 에셋을 사용하여 생성된 어셈블리는 사전 컴파일된 (플러그인) 어셈블리에서 정의된 모든 유형을 사용할 수 있습니다.
사전 정의된 어셈블리에서 커스텀 어셈블리가 자동으로 참조되지 않도록 하려면 인스펙터에서 Assembly Definition의 Auto Referenced 프로퍼티를 선택 해제합니다. 이는 어셈블리의 코드를 변경할 때 사전 정의된 어셈블리가 다시 컴파일되지 않음을 의미하지만, 사전 정의된 어셈블리가 이 어셈블리의 코드를 직접 사용할 수 없음을 의미하기도 합니다.
사전 정의된 어셈블리나 커스텀 어셈블리에서 플러그인 어셈블리가 자동으로 참조되지 않도록 하려면 플러그인 에셋의 Plugin 인스펙터에서 Auto Referenced 프로퍼티를 선택 해제하십시오. 커스텀 어셈블리에서 플러그인에 대한 명시적 레퍼런스를 추가할 수 있습니다. 사전 컴파일된 플러그인 어셈블리 참조를 참조하십시오.
Unity는 다음 유형의 레퍼런스를 허용하지 않습니다.
다른 어셈블리에서 코드를 사용하려면 Assembly Definition 에셋에 다른 어셈블리에 대한 레퍼런스를 추가해야 합니다.
다른 어셈블리에 대한 레퍼런스를 추가하는 방법은 다음과 같습니다.
인스펙터 에서 프로퍼티를 확인하기 위해 레퍼런스가 필요한 어셈블리의 Assembly Definition을 선택합니다.
Assembly Definition References 섹션에서 + 버튼을 클릭하여 새 레퍼런스를 추가합니다.
레퍼런스 목록의 새로 생성된 슬롯에 Assembly Definition 에셋을 할당합니다.
Use GUIDs 옵션을 활성화하면 다른 Assembly Definition의 레퍼런스를 업데이트하지 않고도 참조된 Assembly Definition 에셋의 파일 이름을 변경하여 새 이름을 반영할 수 있습니다.
참고: 에셋 파일의 메타데이터 파일이 삭제되었거나, Unity 에디터 외부로 파일을 이동할 때 해당 메타데이터 파일을 함께 옮기지 않은 경우 GUID를 초기화해야 합니다.
기본적으로 Assembly Definition을 사용하여 생성된 모든 커스텀 어셈블리는 모든 사전 컴파일된 어셈블리를 자동으로 참조합니다. 이러한 자동 참조는 어셈블리의 코드가 사용되지 않더라도 사전 컴파일된 어셈블리 중 하나를 업데이트할 때 Unity가 모든 어셈블리를 다시 컴파일해야 함을 의미합니다.
이러한 추가 오버헤드를 방지하려면 자동 참조를 오버라이드하고 어셈블리가 실제로 사용하는 사전 컴파일된 라이브러리에 대한 참조만 지정하십시오.
인스펙터 에서 프로퍼티를 확인하기 위해 레퍼런스가 필요한 어셈블리의 Assembly Definition을 선택합니다.
General 섹션에서 Override References 옵션을 활성화합니다.
Override References 를 선택하면 인스펙터 의 Assembly References 섹션을 이용할 수 있습니다.
Assembly References 섹션에서 + 버튼을 클릭하여 새 레퍼런스를 추가합니다.
빈 슬롯의 드롭다운 목록을 사용하여 사전 컴파일된 어셈블리에 레퍼런스를 할당합니다. 목록에는 빌드 프로파일에서 현재 활성 상태인 플랫폼에 대한 프로젝트의 사전 컴파일된 어셈블리가 모두 표시됩니다. ([Plugin 인스펙터]에서 사전 컴파일된 어셈블리에 대한 플랫폼 호환성을 설정하십시오.)
Apply 를 클릭합니다.
프로젝트를 빌드할 각 플랫폼에 대해 이 단계를 반복합니다.