Unity 스크립팅 API 가이드
개요
Unity의 스크립팅 API는 C#을 사용하여 게임 오브젝트를 조작하고 다양한 기능을 구현하는 데 필요한 다양한 클래스와 메서드를 제공합니다. 이 문서는 어셈블리 정의 및 패키지 버전 지정에 대한 기본 지침을 설명합니다.
어셈블리 정의 및 패키지
어셈블리 정의 파일 (Assembly Definition File, .asmdef)은 Unity에서 스크립트와 관련된 해당 구성 요소와 설정을 정의하는 파일입니다. 이는 .NET 에코시스템의 C# 프로젝트와 유사한 역할을 합니다.
어셈블리 정의 파일 구성
- 명명 규칙: 각 어셈블리 정의 파일은 다음의 구조를 따라야 합니다.
- 에디터 전용 코드:
Editor/[회사명].[패키지명].Editor.asmdef - 런타임 코드:
Runtime/[회사명].[패키지명].asmdef - 테스트 어셈블리:
- Editor 테스트:
Tests/Editor/[회사명].[패키지명].Editor.Tests.asmdef - Runtime 테스트:
Tests/Runtime/[회사명].[패키지명].Tests.asmdef
- Editor 테스트:
어셈블리 정의의 구조 예제
어셈블리 정의 파일은 JSON 형식으로 정의됩니다. 아래는 예제입니다.
{ "name": "[YourCompany].[YourPackageName]", "references": [ "[YourCompany].[YourPackageName].Tools", "[YourCompany].[YourPackageName].Planes", "Unity.RenderPipelines.HighDefinition.Runtime" ], "includePlatforms": [], "excludePlatforms": [], "allowUnsafeCode": false, "overrideReferences": false, "precompiledReferences": [], "autoReferenced": true, "defineConstraints": [], "versionDefines": [ { "name": "com.unity.render-pipelines.high-definition", "expression": "7.1.0", "define": "HDRP_7_1_0_OR_NEWER" }, { "name": "com.unity.modules.particlesystem", "expression": "1.0.0", "define": "USING_PARTICLE_SYSTEM" } ], "noEngineReferences": false }
활용 예제
1. 기본 패키지 생성
프로젝트 구조 내에 기본 패키지를 만들어 봅시다. 다음은 패키지 구조 예시입니다.
| 이진 디렉토리 | 설명 |
|---|---|
| Editor | 에디터 전용 스크립트 |
| Runtime | 런타임 스크립트 |
| Tests | 테스트 스크립트 |
2. 패키지에 의존성 추가
자신의 패키지가 다른 패키지와 연결되어야 할 경우, 어셈블리 정의에서 references 요소를 수정하여 추가할 수 있습니다.
3. 플랫폼별 설정
어셈블리 정의 파일의 includePlatforms와 excludePlatforms 속성을 사용하여 특정 플랫폼에만 포함하거나 제외하도록 설정할 수 있습니다.
이로써 Unity의 어셈블리 정의 파일에 대한 기본적인 이해와 사용법을 소개했습니다. 추가적인 내용은 Unity 공식 매뉴얼을 참조하시기 바랍니다.