Unity코드 아키텍처와 품질

asmdef 기본

스크립트 컴파일 범위를 줄이고 의존성을 분리하기 위한 Unity Assembly Definition 기본 개념을 정리합니다.

마지막 수정 2026년 3월 19일

기본 패턴

text
Runtime.asmdef
Editor.asmdef
Tests.asmdef

설명

  • asmdef는 스크립트를 논리적 어셈블리로 나눠 컴파일 범위와 의존성을 관리하게 해 줍니다.
  • 프로젝트가 커질수록 스크립트 하나 수정 때 전체 재컴파일이 일어나는 부담을 줄이는 데 도움이 됩니다.
  • 런타임 코드, 에디터 전용 코드, 테스트 코드를 분리하는 구조와 잘 맞습니다.
  • 아키텍처 관점에서도 "어느 계층이 어느 계층을 참조할 수 있는가"를 명시하는 효과가 있습니다.

짧은 예제

text
Core.Runtime.asmdef
UI.Runtime.asmdef -> Core.Runtime 참조
Gameplay.Tests.asmdef -> Gameplay.Runtime 참조

빠른 정리

항목설명
asmdef스크립트 어셈블리 단위 정의
컴파일 범위 축소수정 영향 영역을 줄이기 쉬움
의존성 명시참조 방향을 더 분명히 함
Editor/Test 분리역할별 코드 관리에 유리
대형 프로젝트효과가 더 크게 나타남

주의할 점

asmdef를 너무 일찍, 너무 잘게 나누면 설정 관리가 더 어려워질 수 있습니다. 팀과 코드 규모가 커질수록 단계적으로 도입하는 편이 현실적입니다.

참고 링크

2 sources