Version: Unity 6.0 (6000.0)
언어 : 한국어
어셈블리 참조
어셈블리 메타데이터 및 컴파일 세부 정보

조건부 어셈블리 포함

프리 프로세서 심볼을 사용하여 어셈블리가 컴파일되고 애플리케이션의 빌드에 포함되는지 여부를 제어할 수 있습니다(에디터의 플레이 모드 포함). 어셈블리 정의 옵션의 Define Constraints 리스트와 함께 어셈블리를 사용하기 위해 정의해야 하는 심볼을 지정할 수 있습니다.

  1. 인스펙터 에서 프로퍼티를 확인할 어셈블리의 어셈블리 정의를 선택합니다.

  2. Define Constraints 섹션에서 + 버튼을 클릭하여 제약 리스트에 새로운 심볼을 추가합니다.

  3. 심볼 이름을 입력합니다.

    이름 앞에 느낌표를 넣어 해당 심볼을 반대로 바꿀 수 있습니다. 예를 들어 제약인 !UNITY_WEBGLUNITY_WEBGL이 정의되지 않은 경우 어셈블리를 포함합니다.

  4. Apply 를 클릭합니다.

다음 심볼을 제약으로 사용할 수 있습니다.

  • Project SettingsPlayer 섹션에서 찾을 수 있는 Scripting Define Symbols 설정에 정의된 심볼. 프로젝트 Build Profiles의 현재 활성화된 플랫폼에 적용되는 Scripting Define Symbols 에 유의하십시오. 여러 플랫폼에 대한 심볼을 정의하려면 각 플랫폼으로 전환하고 Scripting Define Symbols 필드를 개별적으로 수정해야 합니다.
  • Unity에서 정의한 심볼. Unity 스크립팅 심볼 레퍼런스를 참조하십시오.
  • 어셈블리 정의 에셋의 Version Defines 섹션을 사용하여 정의된 심볼.

스크립트에서 정의된 심볼은 제약이 충족되었는지 판단할 때 고려되지 않습니다.

자세한 내용은 정의 제약를 참조하십시오.

Unity 및 프로젝트 패키지 버전에 기반하여 기호 정의

프로젝트가 특정 버전의 Unity 또는 패키지를 사용하는지에 따라 어셈블리에 다른 코드를 컴파일해야 하는 경우 항목을 Version Defines 리스트에 추가할 수 있습니다. 이 리스트에는 심볼을 정의해야 하는 시기에 대한 규칙이 명시되어 있습니다. 버전 번호의 경우 특정 버전 또는 다양한 버전으로 평가되는 논리 표현식을 지정할 수 있습니다.

심볼을 조건부로 정의하려면 다음 단계를 따르십시오.

  1. 인스펙터 에서 프로퍼티를 볼 어셈블리의 어셈블리 정의 에셋을 선택합니다.

  2. Version Defines 섹션에서 + 버튼을 클릭하여 리스트에 항목을 추가합니다.

  3. 다음 프로퍼티를 설정합니다.

    • Resource: 이 심볼을 정의하기 위해 설치해야 하는 패키지나 모듈 또는 Unity 를 선택합니다.
    • Define: 심볼 이름입니다.
    • Expression: 특정 버전 또는 버전 범위로 평가되는 표현식입니다. 규칙은 [버전 정의 표현식]을 참조하십시오.

    Expression outcome 은 표현식이 평가될 버전을 보여 줍니다. 결과가 Invalid 로 표시되면 표현식 구문이 잘못된 것입니다.

    다음 예시에서는 프로젝트가 타임라인 1.3을 사용하는 경우 심볼 USE_TIMELINE_1_3을 정의하며, 프로젝트가 Unity 2021.2.0a7 이상에서 열리면 USE_NEW_APIS를 정의합니다.

  4. Apply 를 클릭합니다.

어셈블리 정의에서 정의된 심볼은 해당 정의에 대해 생성된 어셈블리의 스크립트 범위 내에만 있습니다.

Version Defines 리스트를 사용하여 정의된 심볼을 정의 제약 으로 사용할 수 있습니다. 따라서 특정 패키지의 특정 버전이 프로젝트에 설치된 경우에만 어셈블리를 사용해야 한다고 지정할 수 있습니다.

버전 정의 표현식

표현식을 사용하여 정확한 버전 또는 다양한 버전을 지정할 수 있습니다. 버전 정의 표현식은 수학 범위 표기법을 사용합니다.

대괄호 “[]”는 범위가 엔드포인트를 포함함을 지정합니다.

> [1.3,3.4.1]1.3.0 <= x <= 3.4.1로 평가됩니다

괄호 “()”는 범위가 엔드포인트를 제외함을 의미합니다.

> (1.3.0,3.4)1.3.0 < x < 3.4.0으로 평가됩니다

단일 표현식에서 범위 유형을 혼합할 수 있습니다.

> [1.1,3.4)1.1.0 <= x < 3.4.0으로 평가됩니다

> (0.2.4,5.6.2-preview.2]0.2.4 < x <= 5.6.2.-preview.2로 평가됩니다

대괄호 안에 단일 버전 지정자를 사용하여 정확한 버전을 지정할 수 있습니다.

> [2.4.5]x = 2.4.5로 평가됩니다

좀 더 빠른 방법으로는 범위 대괄호 없이 단일 버전을 입력하여 표현식에 해당 버전 이상이 포함되어 있음을 나타낼 수 있습니다.

> 2.1.0-preview.7x >= 2.1.0-preview.7로 평가됩니다

참고: 표현식에는 공백이 허용되지 않습니다. 와일드카드 문자는 지원되지 않습니다.

Unity 버전 번호

Unity의 현재 버전(및 어셈블리 정의를 지원하는 모든 버전)은 MAJOR.MINOR.REVISION(예: 2017.4.25f1, 2018.4.29f1, 2019.4.7f1) 같이 세 부분으로 나뉜 버전 지정자를 사용합니다.

  • MAJOR 버전은 Unity 2022.x.z 이하 버전의 릴리스 연도 또는 Unity 6(6000.x.z) 이상의 메이저 기술 버전을 나타내는 4자리 값입니다.
  • MINOR 버전은 타겟 출시 사분기(예: 1분기, 2분기, 3분기, 4분기)입니다.
  • REVISION 지정자는 세 부분으로 나뉘며, 형식은 RRzNN입니다.
    • RR은 1자리 또는 2자리의 개정 번호입니다.
    • z는 출시 유형을 지정하는 글자입니다.
      • a = 알파 출시
      • b = 베타 출시
      • f = 일반 공개 출시
      • c = 중국 출시 버전(f와 동등)
      • p = 패치 출시
      • x = 실험적 출시
    • NN은 1자리 또는 2자리의 번호로, 이후 출시일수록 커집니다.

출시 유형 지정자의 비교 관계는 다음과 같습니다.

> a < b < f = c < p < x

즉, 알파 릴리스는 베타 릴리스보다 이전 것으로 간주되며, 이는 노멀(f) 또는 중국(c) 릴리스보다 이전 것으로 간주됩니다. 패치 릴리스는 항상 리비전 번호가 동일한 일반 릴리스 또는 중국 릴리스보다 나중에 나온 것이고 실험 기능 릴리스는 다른 릴리스 유형보다 나중에 나온 것입니다. 실험 기능 릴리스에서는 끝에 증분 숫자를 사용하지 않습니다.

Unity 버전 번호는 REVISION 컴포넌트 뒤에 2019.3.0f11-Sunflower 같은 접미사를 사용할 수 있습니다. 모든 접미사는 버전 비교를 위해 무시됩니다.

예를 들어, 다음 표현식은 Unity의 모든 2017 또는 2018 버전을 포함하지만, 2019 이상 버전은 일체 포함하지 않습니다.

[2017,2019)

패키지 및 모듈 버전 번호

패키지 및 모듈 버전 지정자는 유의적 버전 지정 형식인 MAJOR.MINOR.PATCH-LABEL 같이 네 부분으로 구성됩니다. 처음 세 부분은 항상 숫자이지만 레이블은 문자열입니다. 프리뷰에서 Unity 패키지는 문자열, preview 또는 preview.n, 즉 n > 0를 사용합니다. 패키지 버전 번호에 대한 자세한 내용은 패키지 버전 지정을 참조하십시오.

예를 들어, 다음 표현식은 MAJOR.MINOR 버전이 3.2–6.1(포함)인 모든 패키지 버전을 포함합니다.

[3.2,6.1]

추가 리소스

어셈블리 참조
어셈블리 메타데이터 및 컴파일 세부 정보
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961