Unity Assembly Definition

2024. 12. 11. 19:29·유니티

유니티에서 어셈블리 데피니션(Assembly Definition)은 프로젝트의 스크립트 모듈을 분리하고 빌드 시간을 최적화하며 코드 관리성을 향상시키는 도구입니다.


어셈블리 데피니션의 용도

  1. 빌드 시간 단축: 변경된 스크립트만 재컴파일하도록 설정해 전체 프로젝트 빌드 시간을 크게 줄일 수 있습니다.
  2. 의존성 관리: 어셈블리 간 의존성을 명확히 정의하여 모듈 간의 참조를 체계적으로 설정할 수 있습니다.
  3. 코드 보안: 특정 코드 파일을 노출하지 않도록 어셈블리 단위로 관리할 수 있습니다.
  4. 플랫폼별 설정: 특정 플랫폼에서만 사용할 스크립트를 정의할 수 있습니다.

사용법

  1. 어셈블리 데피니션 파일 생성
    • 프로젝트 내 관리할 폴더에서 우클릭 > Create > Assembly Definition을 선택합니다.
    • .asmdef 파일이 생성되며, 원하는 이름을 지정합니다.
  2. 어셈블리 데피니션 설정
    • .asmdef 파일을 더블클릭하여 설정창을 엽니다.
    • 주요 설정:
      • Assembly Name: 어셈블리 이름 (중복 불가).
      • References: 참조할 다른 어셈블리 추가.
      • Platforms: 특정 플랫폼에서만 활성화되도록 설정.
      • Optional Unity References: UnityEngine, UnityEditor와 같은 기본 의존성을 포함할지 여부.
  3. 어셈블리 간 의존성 설정
    • 모듈 간 참조가 필요하다면, 각 어셈블리의 References 필드에서 다른 어셈블리를 추가합니다.

파일명 규칙

  • 어셈블리 데피니션 파일의 이름은 폴더명과 일치시키는 것이 관례입니다.
    • 예: Scripts/Gameplay/Gameplay.asmdef
  • 파일명은 실제 컴파일에 영향을 미치지 않으나, 일관된 네이밍 규칙을 유지하면 관리에 용이합니다.

관련 파일 설명

.asmdef

  • 어셈블리 데피니션 설정 파일.
  • 각 어셈블리의 이름, 참조, 플랫폼 설정 등이 정의됩니다.

.dll

  • 어셈블리 데피니션을 통해 생성된 C# 컴파일 결과물.
  • 해당 어셈블리의 실행 파일이며, Unity Library에 저장됩니다.

.pdb

  • 디버그 정보 파일.
  • C# 코드 디버깅 시 변수 값이나 코드 라인 정보를 제공합니다.

팁 & 주의사항

  1. 의존성 사이클 주의
    • 어셈블리 A와 B가 서로 참조하는 경우(순환 참조)는 컴파일 오류가 발생합니다.
    • 의존성을 최소화하고 모듈 간 독립성을 유지하세요.
  2. Editor 전용 스크립트 분리
    • Editor 폴더 내 스크립트를 별도 어셈블리로 관리하여 빌드 결과에 포함되지 않도록 설정하세요.
  3. 테스트 코드 관리
    • 테스트 코드는 일반 코드와 별도의 어셈블리로 분리하여 관리하면 좋습니다.
'유니티' 카테고리의 다른 글
  • InputField 선택 시 커서 위치 설정
  • 유니티에서 SerializeField를 사용하는 두 가지 방식
  • 유니티에서 Debug.Assert() 베스트 프랙티스
  • DestroyImmediate 사용시 주의점
뇌장하드 주인장
뇌장하드 주인장
  • 뇌장하드 주인장
    뇌장하드
    뇌장하드 주인장
    • 분류 전체보기 (88)
      • C++ (9)
      • C# (15)
      • CS (9)
      • 유니티 (39)
      • 유니팁 (7)
      • 유니티 패턴 (8)
      • - (1)
  • 블로그 메뉴

    • 홈
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
뇌장하드 주인장
Unity Assembly Definition
상단으로

티스토리툴바