Unity 스크립팅 API 가이드 (2022.3)
이 문서는 Unity의 스크립팅과 관련된 내용을 설명합니다. Unity는 여러 폴더 구조와 스크립트 컴파일에 대한 규칙을 가지고 있으며, 이를 이해하면 개발에 큰 도움이 됩니다.
스크립트 컴파일 개요
Unity는 특정 목적을 가진 프로젝트 폴더 구조에 따라 스크립트를 컴파일합니다. 주요 폴더는 다음과 같습니다:
| 폴더명 | 설명 |
|---|---|
| Assets | 프로젝트 자산을 저장하는 기본 폴더 |
| Editor | 에디터 전용 스크립트를 포함하는 폴더 |
| Standard Assets | Unity에서 제공하는 기본 에셋 |
| Plugins | 외부 플러그인 스크립트 |
| Resources | 런타임에서 접근할 수 있는 리소스 |
| StreamingAssets | 스트리밍 가능한 에셋 저장 |
적절한 폴더에 스크립트를 배치하는 것은 컴파일 순서와 효율성에 영향을 줍니다.
스크립트 컴파일 순서
Unity는 스크립트를 4단계로 컴파일합니다. 각 단계는 별도의 CSharp 프로젝트 파일(.csproj)과 사전 정의된 어셈블리를 생성합니다. 컴파일 단계는 다음과 같습니다:
| 단계 | 어셈블리 이름 | 설명 |
|---|---|---|
| 1 | Assembly-CSharp-firstpass | Standard Assets, Pro Standard Assets, Plugins의 런타임 스크립트 |
| 2 | Assembly-CSharp-Editor-firstpass | Editor 폴더의 에디터 전용 스크립트 |
| 3 | Assembly-CSharp | Editor 폴더 외의 모든 스크립트 |
| 4 | Assembly-CSharp-Editor | 나머지 모든 스크립트 |
참고 사항
- Standard Assets는 Assets 루트 폴더에서만 작동합니다.
- 커스텀 어셈블리를 정의하면, 코드 변경이 필요한 범위를 줄이고 종속성을 효과적으로 관리할 수 있습니다. 더 자세한 내용은 Unity 공식 문서를 참조하세요.
활용 예제
- 기본 스크립트 구조 설정
- Assets 폴더 내에
Scripts폴더를 만들어 스크립트를 정리합니다. - 커스텀 어셈블리 정의 사용
- 특정 기능을 가진 스크립트를
MyCustomAssembly라는 어셈블리로 분리하여 관리하면, 필요할 때만 해당 어셈블리를 재컴파일할 수 있습니다. - 에디터 스크립트 작성
- 특정 도구를 사용하여 에디터에서 동작할 기능을 추가하는 스크립트를
Editor폴더에 두어 다른 스크립트와의 혼재를 방지합니다. - 다양한 폴더 조합
- Plugins 폴더에 외부 라이브러리를 두고, Standard Assets를 활용하여 재사용 가능한 코드를 만들 수 있습니다.
Unity의 스크립팅 구조를 이해하고 활용하는 것은 개발의 생산성을 높이는 데 큰 도움이 됩니다. 각 단계와 개념을 유념하여 최적의 프로젝트 구조를 설계해보세요.