包含此页的版本:
不含此页的版本:
Unity 会根据创作和构建目标平台自动定义某些符号。这些如下:
| 定义 | 功能 |
|---|---|
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 |
脚本符号,用于编译或执行专门针对 macOS(包括通用、PPC 和英特尔架构)的代码。 |
UNITY_STANDALONE_WIN |
用于编译/执行专门用于 Windows 独立应用程序的代码的脚本符号。 |
UNITY_STANDALONE_LINUX |
用于专门为 Linux 独立应用程序编译/执行代码的脚本符号。 |
UNITY_STANDALONE |
用于编译/执行任何独立平台(Mac OS X、Windows 或 Linux)代码的脚本符号。 |
UNITY_SERVER |
用于编译/执行专用服务器(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 |
Web 的脚本符号。 |
UNITY_FACEBOOK_INSTANT_GAMES |
Facebook 即时游戏平台的脚本符号。 |
UNITY_ANALYTICS |
用于调用 Unity 的脚本符号分析 Unity 的缩写 分析 在术语表中参见方法。 |
UNITY_ASSERTIONS |
断言控制过程的脚本符号。 |
UNITY_64 |
64 位平台的脚本符号。实际上,不应使用此功能,因为它不适用于所有 64 位体系结构,并且给定平台上的不同 CPU 体系结构可以共享相同的编译程序集。要根据体系结构有条件地执行代码,请使用标准if检查 IntPtr.Size 的语句,即4在 32 位进程中,并且8在 64 位进程中。有关示例,请参阅指令的替代方法。 |
Unity 会根据您当前使用的 Unity 编辑器版本自动定义某些脚本符号。
给定版本号X.Y.Z(例如,6000.0.33),Unity 公开了以下格式的三个全局脚本符号:UNITY_X,UNITY_X_Y和UNITY_X_Y_Z.
下面是 Unity 6000.0.33 中公开的脚本符号示例:
| 定义 | 功能 |
|---|---|
UNITY_6000 |
Unity 6 发布版本的脚本符号,在每个 6000.Y.Z 版本中公开。 |
UNITY_6000_0 |
Unity 6.0 主要版本的脚本符号,在每个 6000.0.Z 版本中公开。 |
UNITY_6000_0_33 |
Unity 6000.0.33 次要版本的脚本符号。 |
您还可以根据编译或执行一段代码片段所需的最早 Unity 版本有选择地编译代码。遵循前面描述的相同版本格式 (X.Y),Unity 公开一个全局#define在格式中UNITY_X_Y_OR_NEWER(例如,UNITY_6000_0_OR_NEWER),您可以将其用于此目的。
Unity 定义的其他符号包括:
| 定义 | 功能 |
|---|---|
CSHARP_7_3_OR_NEWER |
在生成支持 C# 7.3 或更高版本的脚本时定义。 |
ENABLE_MONO |
Mono 的脚本后端 #define。 |
ENABLE_IL2CPP |
脚本后端 #defineIL2CPP:Unity 开发的脚本后端,在为某些平台构建项目时,可以将其用作 Mono 的替代品。更多信息 请参阅术语表. |
ENABLE_VR |
当目标生成平台支持VR虚拟现实 更多信息 见术语表. 并不意味着当前已启用 VR 或必要的插件在 Unity 外部创建的一组代码,用于在 Unity 中创建功能。可以在 Unity 中使用两种类型的插件:托管插件(使用 Visual Studio 等工具创建的托管 .NET 程序集)和本机插件(特定于平台的本机代码库)。详细信息 请参阅术语表并安装了支持 VR 所需的软件包。 |
NET_2_0 |
在 Mono 和 IL2CPP 上针对 .NET 2.0 API 兼容性级别生成脚本时定义。 |
NET_2_0_SUBSET |
在针对 Mono 和 IL2CPP 上的 .NET 2.0 子集 API 兼容性级别生成脚本时定义。 |
NET_LEGACY |
在 Mono 和 IL2CPP 上针对 .NET 2.0 或 .NET 2.0 子集 API 兼容性级别生成脚本时定义。 |
NET_4_6 |
在 Mono 和 IL2CPP 上针对 .NET 4.x API 兼容性级别生成脚本时定义。 |
NET_STANDARD_2_0 |
在 Mono 和 IL2CPP 上针对 .NET Standard 2.0 API 兼容性级别生成脚本时定义。 |
NET_STANDARD_2_1 |
在 Mono 和 IL2CPP 上针对 .NET Standard 2.1 API 兼容性级别生成脚本时定义。 |
NET_STANDARD |
在 Mono 和 IL2CPP 上针对 .NET Standard 2.1 API 兼容性级别生成脚本时定义。 |
NETSTANDARD2_1 |
在 Mono 和 IL2CPP 上针对 .NET Standard 2.1 API 兼容性级别生成脚本时定义。 |
NETSTANDARD |
在 Mono 和 IL2CPP 上针对 .NET Standard 2.1 API 兼容性级别生成脚本时定义。 |
ENABLE_WINMD_SUPPORT |
在 IL2CPP 上启用 Windows 运行时支持时定义。有关详细信息,请参阅 UWP 的 C# 脚本中的 WinRT API。 |
ENABLE_INPUT_SYSTEM |
在玩家设置设置,可让您为 Unity 构建的最终游戏设置各种特定于玩家的选项。更多信息 请参阅术语表. |
ENABLE_LEGACY_INPUT_MANAGER |
定义时输入管理器设置(Input Manager Settings) 可在其中为项目定义所有不同的输入轴、按钮和控件。更多信息 请参阅术语表在播放器设置中启用。 |
DEVELOPMENT_BUILD |
当你的脚本在启用了 开发构建(Development Build) 选项的情况下构建的播放器中运行时定义。 此定义仅反映在生成时是否启用了开发生成选项。若要了解脚本是否在开发构建模式下运行,请使用 Debug.isDebugBuild。 DEVELOPMENT_BUILD不足以确定您当前是否在开发版本中运行,因为大多数平台允许在开发版本和非开发版本之间切换,而无需重新生成项目。但是,在某些平台上,Unity 不支持在编辑器中在开发构建和非开发构建之间切换,并且需要您在构建完成后进行切换。例如,在 Windows 上,可以选择“创建 Visual Studio 解决方案”选项,以选择是否要在 Visual Studio 中进行开发或非开发生成。在 Visual Studio 中切换不会重新编译脚本,因此不会重新评估脚本定义。您还可以通过交换从最终游戏版本切换到开发版本UnityPlayer.dll在游戏构建中使用开发构建中的一个来调试实时游戏构建。 |
UNITY_CLOUD_BUILD |
在使用Unity 构建自动化Unity 项目的持续集成服务,可自动执行在 Unity 服务器上创建构建的过程。更多信息 请参阅术语表. |
注意:该DEBUGsymbol 在 C# 和 Unity 中使用指令#if DEBUG相当于#if UNITY_EDITOR || DEVELOPMENT_BUILD