# Unity 스크립팅 심볼 레퍼런스

> A reference of the predefined scripting symbols Unity provides.

## 플랫폼 심볼##platform-symbols

Unity는 저작 및 빌드 타겟 플랫폼을 기반으로 특정 심볼을 자동으로 정의합니다. 이는 다음과 같습니다.

| **Define**                   | **기능**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| ---------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **UNITY\_EDITOR**            | 게임 코드에서 Unity 에디터 스크립트를 호출하는 스크립팅 심볼.                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| **UNITY\_EDITOR\_WIN**       | Windows에서의 에디터 코드용 스크립팅 심볼.                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| **UNITY\_EDITOR\_OSX**       | macOS에서의 에디터 코드용 스크립팅 심볼.                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| **UNITY\_EDITOR\_LINUX**     | Linux에서의 에디터 코드용 스크립팅 심볼.                                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| **UNITY\_EMBEDDED\_LINUX**   | 포함된 Linux용 스크립팅 심볼.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| **UNITY\_QNX**               | QNX용 스크립팅 심볼.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| **UNITY\_STANDALONE\_OSX**   | (Universal 아키텍처, PPC 아키텍처와 Intel 아키텍처를 포함한) macOS 전용 코드를 컴파일 또는 실행하기 위한 스크립팅 심볼.                                                                                                                                                                                                                                                                                                                                                                                                                    |
| **UNITY\_STANDALONE\_WIN**   | Windows 스탠드얼론 애플리케이션 전용 컴파일링/실행 코드용 스크립팅 심볼.                                                                                                                                                                                                                                                                                                                                                                                                                                                        |
| **UNITY\_STANDALONE\_LINUX** | Linux 스탠드얼론 애플리케이션 전용 컴파일링/실행 코드용 스크립팅 심볼.                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| **UNITY\_STANDALONE**        | 스탠드얼론 플랫폼(Mac OS X, Windows 또는 Linux) 전용 컴파일링/실행 코드용 스크립팅 심볼.                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| **UNITY\_SERVER**            | [전용 서버](/engine/6000.0/manual/platform-specific/dedicated-server.md)(macOS, Windows 또는 Linux)의 컴파일링/실행 코드용 스크립팅 심볼.                                                                                                                                                                                                                                                                                                                                                                                 |
| **UNITY\_IOS**               | iOS 플랫폼용 컴파일링/실행 코드용 스크립팅 심볼.                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| **UNITY\_ANDROID**           | Android 플랫폼용 스크립팅 심볼.                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| **UNITY\_TVOS**              | Apple TV 플랫폼용 스크립팅 심볼                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| **UNITY\_VISIONOS**          | VisionOS 플랫폼용 스크립팅 심볼.                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| **UNITY\_WSA**               | 유니버설 Windows 플랫폼용 스크립팅 심볼.                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| **UNITY\_WSA\_10\_0**        | 유니버설 Windows 플랫폼용 스크립팅 심볼.                                                                                                                                                                                                                                                                                                                                                                                                                                                                          |
| **UNITY\_WEBGL**             | 웹용 스크립팅 심볼.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| **UNITY\_ANALYTICS**         | 게임 코드에서 Unity 애널리틱스 메서드를 호출하기 위한 스크립팅 심볼.                                                                                                                                                                                                                                                                                                                                                                                                                                                           |
| **UNITY\_ASSERTIONS**        | 행사 컨트롤 프로세스를 위한 스크립팅 심볼                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| **UNITY\_64**                | 64비트 플랫폼용 스크립팅 심볼 실제로는 모든 64비트 아키텍처에서 작동하지 않으며 특정 플랫폼의 다른 CPU 아키텍처가 동일한 컴파일된 어셈블리를 공유할 수 있으므로 이 방법을 **사용해서는 안 됩니다**. 아키텍처를 기반으로 하여 조건부로 코드를 실행하려면 [IntPtr.Size](https://learn.microsoft.com/en-us/dotnet/api/system.intptr.size?view=net-8.0)를 확인하는 표준 `if` 문을 사용하십시오(32비트 프로세스에서는 `4`, 64비트 프로세스에서는 `8`). 예시는 [지시문에 대한 대안](/engine/6000.0/manual/scripting/compilation-and-code-reload/script-compilation/conditional-compilation/platform-dependent-compilation.md#ConditionalExecution)을 참조하십시오. |

## Unity 에디터 버전 심볼##unity-editor-version-symbols

Unity는 현재 사용 중인 Unity 에디터 버전에 따라 특정 스크립팅 심볼을 자동으로 정의합니다.

버전 **X.Y.Z** 에 따라(예: 2019.4.14) Unity는 세 개의 글로벌 스크립팅 심볼을 다음과 같은 포맷으로 나타냅니다. **UNITY\_X**, **UNITY\_X\_Y**, **UNITY\_X\_Y\_Z**.

Unity 2019.4.14에서 나타나는 스크립팅 심볼 예시입니다.

| **Define**             | **기능**                                                       |
| ---------------------- | ------------------------------------------------------------ |
| **UNITY\_2019**        | 모든 2019.Y.Z 릴리스에서 나타나는 Unity 2019의 릴리스 버전에 해당하는 스크립팅 심볼입니다.  |
| **UNITY\_2019\_4**     | 모든 2019.4.Z 릴리스에서 나타나는 Unity 2019.4의 주요 버전에 해당하는 스크립팅 심볼입니다. |
| **UNITY\_2019\_4\_14** | Unity 2019.4.14의 부 버전에 해당하는 스크립팅 심볼입니다.                      |

코드 스니핏 섹션을 컴파일하거나 실행하는 데 필요한 Unity 최초 버전을 기반으로 코드를 선택적으로 컴파일할 수도 있습니다. 위와 동일한 버전 포맷(**X.Y**)에 따라 Unity는 이 목적으로 사용할 수 있는 **UNITY\_X\_Y\_OR\_NEWER** 포맷으로 하나의 전역 `#define`을 노출합니다.

## 기타 심볼##other-symbols

Unity에서 정의하는 기타 심볼은 다음과 같습니다.

| **Define**                         | **기능**                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                     |
| ---------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **CSHARP\_7\_3\_OR\_NEWER**        | C# 7.3 이상 지원하는 스크립트를 빌드할 때의 정의입니다.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
| **ENABLE\_MONO**                   | Mono를 위한 스크립팅 백엔드 #define입니다.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| **ENABLE\_IL2CPP**                 | IL2CPP를 위한 스크립팅 백엔드 #define입니다.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
| **ENABLE\_VR**                     | 타겟 빌드 플랫폼이 VR을 지원할 때의 정의입니다. 현재 VR이 활성화되어 있거나 VR을 지원하는 데 필요한 플러그인과 패키지가 설치되어 있음을 의미하지는 않습니다.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
| **NET\_2\_0**                      | Mono 및 IL2CPP에서 .NET 2.0 API 호환성 레벨에 스크립트를 빌드할 때의 정의입니다.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| **NET\_2\_0\_SUBSET**              | Mono와 IL2CPP에서 .NET 2.0 Subset API 호환성 레벨에 스크립트를 빌드할 때의 정의입니다.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |
| **NET\_LEGACY**                    | Mono와 IL2CPP에서 .NET 2.0 또는 .NET 2.0 Subset API 호환성 레벨에 스크립트를 빌드할 때의 정의입니다.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 |
| **NET\_4\_6**                      | Mono 및 IL2CPP에서 .NET 4.x API 호환성 레벨에 스크립트를 빌드할 때의 정의입니다.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   |
| **NET\_STANDARD\_2\_0**            | Mono 및 IL2CPP에서 .NET 스탠다드 2.0 API 호환성 레벨에 스크립트를 빌드할 때의 정의입니다.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| **NET\_STANDARD\_2\_1**            | Mono 및 IL2CPP에서 .NET 스탠다드 2.1 API 호환성 레벨에 스크립트를 빌드할 때의 정의입니다.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| **NET\_STANDARD**                  | Mono 및 IL2CPP에서 .NET 스탠다드 2.1 API 호환성 레벨에 스크립트를 빌드할 때의 정의입니다.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| **NETSTANDARD2\_1**                | Mono 및 IL2CPP에서 .NET 스탠다드 2.1 API 호환성 레벨에 스크립트를 빌드할 때의 정의입니다.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| **NETSTANDARD**                    | Mono 및 IL2CPP에서 .NET 스탠다드 2.1 API 호환성 레벨에 스크립트를 빌드할 때의 정의입니다.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                              |
| **ENABLE\_WINMD\_SUPPORT**         | Windows 런타임 지원이 IL2CPP에서 활성화된 경우에 정의됩니다. 자세한 내용은 [Windows 런타임 지원](/engine/6000.0/manual/scripting/compilation-and-code-reload/backends/il2cpp/il2cpp-windows-runtime-support.md)을 참조하십시오.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                  |
| **ENABLE\_INPUT\_SYSTEM**          | 플레이어 설정에 입력 시스템 패키지가 활성화되었을 때 정의됩니다.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| **ENABLE\_LEGACY\_INPUT\_MANAGER** | 플레이어 설정에 레거시 입력 관리자가 활성화되었을 때 정의됩니다.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| **DEVELOPMENT\_BUILD**             | 스크립트가 **Development Build** 옵션이 활성화될 때 빌드된 플레이어에서 실행될 때 정의됩니다.이 정의는 빌드 시 개발 빌드 옵션이 활성화되었는지 여부만 반영합니다. 스크립트가 개발 빌드 모드에서 실행 중인지 확인하려면 [Debug.isDebugBuild](/engine/6000.0/script-reference/unity-engine/debug/is-debug-build.md)를 사용하십시오. `__DEVELOPMENT\_BUILD__` 는 현재 개발 빌드에서 실행 중인지 확인하기에 충분하지 않습니다. 대부분의 플랫폼에서는 프로젝트를 다시 빌드하지 않고도 개발 빌드와 비개발 빌드를 전환할 수 있습니다. 하지만 일부 플랫폼에서는 Unity가 에디터에서 개발 빌드와 비개발 빌드 간 전환을 지원하지 않으며, 빌드가 완료된 후에 전환해야 합니다. 예를 들어 Windows에서는 Visual Studio에서 개발 빌드 또는 비개발 빌드를 원하는지 선택하기 위해 **Create Visual Studio solution** 옵션을 선택할 수 있습니다. Visual Studio에서 전환하면 스크립트를 다시 컴파일하지 않으므로 스크립팅 정의를 다시 평가하지 않습니다. 라이브 게임 빌드를 디버깅하기 위해 게임 빌드의 `UnityPlayer.dll`을 개발 빌드의 빌드로 교체하여 최종 게임 빌드에서 개발 빌드로 전환할 수도 있습니다. |
| **UNITY\_CLOUD\_BUILD**            | 프로젝트가 [Unity Build Automation](https://docs.unity.com/ugs/en-us/manual/devops/manual/unity-build-automation.md)으로 빌드될 때 정의됩니다.                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                             |

**참고**: `DEBUG` 심볼은 C#에서 사전 정의되며 Unity에서는 지시문 `#if DEBUG`를 사용하는 것이 `#if UNITY_EDITOR || DEVELOPMENT_BUILD`와 동등합니다.

## 추가 리소스##additional-resources

* [조건부로 컴파일된 코드 테스트](/engine/6000.0/manual/scripting/compilation-and-code-reload/script-compilation/conditional-compilation/test.md)
* [커스텀 스크립팅 심볼](/engine/6000.0/manual/scripting/compilation-and-code-reload/script-compilation/conditional-compilation/custom-scripting-symbols.md)
