710 words
4 minutes
Assembly Definition을 통한 종속성 관리 / Assembly Definitionによる依存関係管理
최근 Unity 프로젝트에서 **Assembly Definition(어셈블리 디피니션)을 활용하여 종속성을 관리하고 있습니다.
最近UnityプロジェクトでAssembly Definition(アセンブリ定義)**を活用して依存関係を管理しています。
시작 계기는 프로젝트를 코어 레이어, 시스템 레이어, 콘텐츠 레이어로 분리하고,
각 레이어 간의 명확한 참조 구조를 유지하기 위함입니다.
プロジェクトをコアレイヤー、システムレイヤー、コンテンツレイヤーに分け、
各レイヤー間の明確な参照構造を維持するために始めました。
Assembly Definition의 장점 / Assembly Definitionの利点
- 명확한 레이어 구분 / 明確なレイヤー分割
- 폴더 구조만으로 관리하던 종속성을 Assembly Definition으로 명시적으로 관리 가능
- フォルダ構造だけで管理していた依存関係を、アセンブリ定義で明示的に管理可能
- 의도치 않은 참조 방지 / 意図しない参照の防止
- 코어 레이어가 시스템 레이어를 직접 참조하는 문제 발견
- コアレイヤーがシステムレイヤーを直接参照している問題を発見
- 불필요한 종속성으로 인한 빌드 오류 및 유지보수 난이도 감소
- 不要な依存関係によるビルドエラーや保守の難易度を低減
- 편리한 에디터 분리 / エディタ専用の分離
- 예:
MTLibrary폴더 →MTLibrary.Editor어셈블리로 에디터 전용 코드 관리 - 例:
MTLibraryフォルダ →MTLibrary.Editorアセンブリでエディタ専用コードを管理
실제 적용 예시 / 実際の適用例
Core레이어는 시스템 레이어와 콘텐츠 레이어를 참조하지 않도록 분리MTLibrary폴더 내부에Editor전용 어셈블리 정의 추가- 어셈블리 참조 규칙을 통해 불필요한 의존성 방지
프로젝트 빌드 시간 최적화, 모듈화, 테스트 편의성 향상
プロジェクトのビルド時間最適化、モジュール化、テストの利便性向上
종속성 관리 팁 / 依存関係管理のコツ
- 레이어별 참조 규칙 문서화 / レイヤーごとの参照ルールを文書化
- 에디터 전용 코드는 별도 어셈블리 정의 / エディタ専用コードは別アセンブリで管理
- 빌드 시 불필요한 참조 경로 확인 / ビルド時に不要な参照経路をチェック
정리 / まとめ
Assembly Definition을 활용하면 단순히 폴더 구분을 넘어,
프로젝트 구조를 명확하게 하고, 의도치 않은 참조를 방지하며,
모듈 단위 테스트와 빌드 효율성을 향상시킬 수 있습니다.
Assembly Definitionを活用することで、単なるフォルダ分けを超えて、
プロジェクト構造を明確にし、意図しない参照を防ぎ、
モジュール単位テストやビルド効率を向上させることができます。
Assembly Definition을 통한 종속성 관리 / Assembly Definitionによる依存関係管理
https://yuminjo.github.io/YuminJo-Blog/posts/assemblydefinition/