ドキュメント

Unity Engine

Unity Engine

Unity スクリプトシンボルのリファレンス

A reference of the predefined scripting symbols Unity provides.
読み終わるまでの所要時間 13 分最終更新 1ヶ月前

プラットフォームシンボル

Unity では、オーサリングやビルドの対象プラットフォームに基づいて、特定のシンボルが自動的に定義されます。これらは以下の通りです。

Define

機能

UNITY_EDITORゲームコードから Unity エディターのスクリプトを呼び出すためのスクリプトシンボル
UNITY_EDITOR_WINWindows 用エディターコードのためのスクリプトシンボル
UNITY_EDITOR_OSXmacOS 用エディターコードのためのスクリプトシンボル
UNITY_EDITOR_LINUXLinux 用エディターコードのためのスクリプトシンボル
UNITY_EMBEDDED_LINUX埋め込まれた Linux 用のスクリプトシンボル
UNITY_QNXQNX 用のスクリプトシンボル
UNITY_STANDALONE_OSX特に macOS (Univeral、PPC、Intel のアーキテクチャを含む) のコードをコンパイル/実行するためのスクリプトシンボル
UNITY_STANDALONE_WINWindows スタンドアロンアプリケーションのコードをコンパイル/実行するための スクリプトシンボル
UNITY_STANDALONE_LINUXLinux スタンドアロンアプリケーションのコードをコンパイル/実行するためのスクリプトシンボル
UNITY_STANDALONEあらゆるスタンドアロンプラットフォーム (Mac OS X, Windows, Linux) のコードをコンパイル/実行するためのスクリプトシンボル
UNITY_SERVERDedicated Server (macOS、Windows、Linux) のコードをコンパイル/実行するためのスクリプトシンボル
UNITY_IOSiOS プラットフォーム用のコードをコンパイル/実行するためのスクリプトシンボル
UNITY_ANDROIDAndroid プラットフォーム用のスクリプトシンボル
UNITY_TVOSApple TV プラットフォーム用のスクリプトシンボル
UNITY_VISIONOSVisionOS プラットフォーム用のスクリプトシンボル
UNITY_WSAユニバーサル Windows プラットフォーム用のスクリプトシンボル
UNITY_WSA_10_0ユニバーサル Windows プラットフォーム用のスクリプトシンボル
UNITY_WEBGLウェブ用のスクリプトシンボル
UNITY_ANALYTICSゲームコードから Unity Analytics メソッドを呼び出すためのスクリプトシンボル
UNITY_ASSERTIONSアサーション制御プロセスのスクリプトシンボル
UNITY_6464 ビットプラットフォーム用のスクリプトシンボル実際には、これを **使用すべきではありません **。すべての 64 ビットアーキテクチャでは動作しないから、また、任意のプラットフォームの異なる CPU アーキテクチャが同じコンパイル済みアセンブリを共有することがあるからです。アーキテクチャに基づいてコードを条件付きで実行するには、IntPtr.Size をチェックする標準の
if
ステートメントを使用します。IntPtr.Size は、32 ビットプロセスでは
4
、64 ビットプロセスでは
8
です。例については、ディレクティブの代替手段 を参照してください。

Unity エディターバージョンシンボル

Unity では、現在使用している Unity エディターのバージョンに基づき、特定のスクリプトシンボルが自動的に定義されます。
バージョン番号 X.Y.Z (例えば 2019.4.14) の場合、Unity は 3 つのグローバルなスクリプトシンボルを以下の形式で公開します。UNITY_X、UNITY_X_Y、UNITY_X_Y_Z。
以下は Unity 2019.4.14 で公開されているスクリプトシンボルの例です。

Define

機能

UNITY_2019Unity 2019 リリースバージョンのスクリプトシンボルです。すべての 2019.Y.Z リリースで公開されています。
UNITY_2019_4Unity 2019.4 メジャーバージョンのスクリプトシンボルです。すべての 2019.4.Z リリースで公開されています。
UNITY_2019_4_14Unity 2019.4.14 マイナーバージョンのスクリプトシンボル
コードスニペットのセクションのコンパイルや実行に必要な Unity の最も古いバージョンに基づいて、選択的にコードをコンパイルすることもできます。前述の (X.Y) と同じバージョン形式に従って、Unity は、UNITY_X_Y_OR_NEWER の形式でグローバルな
#define
を公開しており、これをその目的で使用できます。

その他のシンボル

その他、Unity が定義するシンボルは以下の通りです。

Define

機能

CSHARP_7_3_OR_NEWERC# 7.3をサポートするスクリプトをビルドするときに定義されます。
ENABLE_MONOMono のスクリプトバックエンド #define
ENABLE_IL2CPPIL2CPP のスクリプトバックエンド #define
ENABLE_VRターゲットビルドプラットフォームが VR をサポートする場合に定義されます。VR が現在有効になっている、または VR のサポートに必要なプラグインとパッケージがインストールされていることを意味するものではありません。
NET_2_0Mono と IL2CPP の .NET 2.0 API 互換性レベル向けにスクリプトをビルドするときに定義されます。
NET_2_0_SUBSETMono と IL2CPP の .NET 2.0 Subset API 互換性レベル向けにスクリプトをビルドするときに定義されます。
NET_LEGACYMono と IL2CPP の .NET 2.0 か NET 2.0 Subset API 互換性レベル向けにスクリプトをビルドするときに定義されます。
NET_4_6Mono と IL2CPP の .NET 4.x API 互換性レベル向けにスクリプトをビルドするときに定義されます。
NET_STANDARD_2_0Mono と IL2CPP の .NET Standard 2.0 API 互換性レベル向けにスクリプトをビルドするときに定義されます。
NET_STANDARD_2_1Mono と IL2CPP の .NET Standard 2.1 API 互換性レベル向けにスクリプトをビルドするときに定義されます。
NET_STANDARDMono と IL2CPP の .NET Standard 2.1 API 互換性レベル向けにスクリプトをビルドするときに定義されます。
NETSTANDARD2_1Mono と IL2CPP の .NET Standard 2.1 API 互換性レベル向けにスクリプトをビルドするときに定義されます。
NETSTANDARDMono と IL2CPP の .NET Standard 2.1 API 互換性レベル向けにスクリプトをビルドするときに定義されます。
ENABLE_WINMD_SUPPORTWindows ランタイムのサポートが IL2CPP で有効にされているときに定義されます。詳細については、Windows ランタイムのサポート を参照してください。
ENABLE_INPUT_SYSTEMPlayer Settings で Input System パッケージが有効になっている場合に定義されます。
ENABLE_LEGACY_INPUT_MANAGERPlayer Settings で古い Input Manager が有効になっている場合に定義されます。
DEVELOPMENT_BUILDDevelopment Build オプションを有効にしてビルドされたプレイヤーでスクリプトが実行されている場合に定義されます。

この定義は、ビルド時に開発ビルドオプションが有効になっていたかどうかのみを反映します。スクリプトが開発ビルドモードで実行されているかどうかを確認するには、Debug.isDebugBuild を使用します。ほとんどのプラットフォームでは、プロジェクトをリビルドせずに開発ビルドと非開発ビルドを切り替えられるため、
__DEVELOPMENT\_BUILD__
では現在開発ビルドで実行されているかどうかを判断できません。ただし、一部のプラットフォームでは、Unity はエディターでの開発ビルドと非開発ビルドの切り替えをサポートしておらず、ビルドの完了後に切り替える必要があります。例えば、Windows では、Create Visual Studio solution オプションを選択して、Visual Studio で開発ビルドを行うか、非開発ビルドを行うかを選択できます。Visual Studio で切り替えてもスクリプトは再コンパイルされないため、スクリプト定義は再評価されません。ライブゲームビルドのデバックのために、ゲームビルドの
UnityPlayer.dll
を開発ビルドのものとスワップして、最終ゲームビルドから開発ビルドに切り替えることもできます。
UNITY_CLOUD_BUILDUnity Build Automation でプロジェクトをビルドするときに定義されます。
ノート:
DEBUG
シンボルは C# で事前定義されており、Unity でディレクティブ
#if DEBUG
を使用することは
#if UNITY_EDITOR || DEVELOPMENT_BUILD
と同等です。

追加リソース