Unity スクリプトシンボルのリファレンス
A reference of the predefined scripting symbols Unity provides.
読み終わるまでの所要時間 13 分最終更新 1ヶ月前
プラットフォームシンボル
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 | 特に macOS (Univeral、PPC、Intel のアーキテクチャを含む) のコードをコンパイル/実行するためのスクリプトシンボル |
| UNITY_STANDALONE_WIN | Windows スタンドアロンアプリケーションのコードをコンパイル/実行するための スクリプトシンボル |
| UNITY_STANDALONE_LINUX | Linux スタンドアロンアプリケーションのコードをコンパイル/実行するためのスクリプトシンボル |
| UNITY_STANDALONE | あらゆるスタンドアロンプラットフォーム (Mac OS X, Windows, Linux) のコードをコンパイル/実行するためのスクリプトシンボル |
| UNITY_SERVER | Dedicated 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 | ウェブ用のスクリプトシンボル |
| UNITY_ANALYTICS | ゲームコードから Unity Analytics メソッドを呼び出すためのスクリプトシンボル |
| UNITY_ASSERTIONS | アサーション制御プロセスのスクリプトシンボル |
| UNITY_64 | 64 ビットプラットフォーム用のスクリプトシンボル実際には、これを **使用すべきではありません **。すべての 64 ビットアーキテクチャでは動作しないから、また、任意のプラットフォームの異なる CPU アーキテクチャが同じコンパイル済みアセンブリを共有することがあるからです。アーキテクチャに基づいてコードを条件付きで実行するには、IntPtr.Size をチェックする標準の |
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_2019 | Unity 2019 リリースバージョンのスクリプトシンボルです。すべての 2019.Y.Z リリースで公開されています。 |
| UNITY_2019_4 | Unity 2019.4 メジャーバージョンのスクリプトシンボルです。すべての 2019.4.Z リリースで公開されています。 |
| UNITY_2019_4_14 | Unity 2019.4.14 マイナーバージョンのスクリプトシンボル |
コードスニペットのセクションのコンパイルや実行に必要な Unity の最も古いバージョンに基づいて、選択的にコードをコンパイルすることもできます。前述の (X.Y) と同じバージョン形式に従って、Unity は、UNITY_X_Y_OR_NEWER の形式でグローバルな を公開しており、これをその目的で使用できます。
#defineその他のシンボル
その他、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 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 | Windows ランタイムのサポートが IL2CPP で有効にされているときに定義されます。詳細については、Windows ランタイムのサポート を参照してください。 |
| ENABLE_INPUT_SYSTEM | Player Settings で Input System パッケージが有効になっている場合に定義されます。 |
| ENABLE_LEGACY_INPUT_MANAGER | Player Settings で古い Input Manager が有効になっている場合に定義されます。 |
| DEVELOPMENT_BUILD | Development Build オプションを有効にしてビルドされたプレイヤーでスクリプトが実行されている場合に定義されます。 この定義は、ビルド時に開発ビルドオプションが有効になっていたかどうかのみを反映します。スクリプトが開発ビルドモードで実行されているかどうかを確認するには、Debug.isDebugBuild を使用します。ほとんどのプラットフォームでは、プロジェクトをリビルドせずに開発ビルドと非開発ビルドを切り替えられるため、 |
| UNITY_CLOUD_BUILD | Unity Build Automation でプロジェクトをビルドするときに定義されます。 |
ノート: シンボルは C# で事前定義されており、Unity でディレクティブ を使用することは と同等です。
DEBUG#if DEBUG#if UNITY_EDITOR || DEVELOPMENT_BUILD