Choose your operating system:
macOS
Linux
ユーザー プロジェクト ファイル
Unreal Engine (UE) では、プロジェクトを「ネイティブ」および「外部」という 2 つのタイプで認識します。
ネイティブ プロジェクト
ネイティブ プロジェクト とは、作成に使用したエンジンと同じルート ディレクトリ内に存在するプロジェクトです。これらのプロジェクトのディレクトリ構造は結果的に次のようになります。
.
└── ROOT/
├── Engine/
│ ├── Binaries/
│ ├── Build/
│ ├── Config/
│ └── ...
├── PROJECT1/
│ ├── Binaries/
│ ├── Build/
│ ├── Config/
│ ├── ...
│ └── PROJECT1.uproject
├── PROJECT2/
│ ├── Binaries/
│ ├── Build/
│ ├── Config/
│ ├── ...
│ └── PROJECT2.uproject
├── ...
├── Default.uprojectdirs
├── GenerateProjectFiles.bat
└── ...
この構造に含まれる PROJECT1
と PROJECT2
はいずれもネイティブ プロジェクトです。このディレクトリ構造を持つプロジェクトでは、使用するエディタを定義するための追加設定は必要ありません。これらのプロジェクトでは、ルート ディレクトリ内にビルドされているエディタが自動的に検出されます。これは、UE のソース ビルドまたはバイナリ ビルドのいずれを使用していても同じです。
プロジェクトは、ルート フォルダ、または Default.uprojectdirs
で定義されたサブフォルダ (ROOT/Games
など) のいずれかに保存できます。.uprojectdirs
ファイルは、ROOT
のサブディレクトリ内にあるプロジェクトを発見するようエンジンに指示を出すヘルパー ファイルです。同じ ROOT
ディレクトリ内には複数の .uprojectdirs
ファイルを含めることができます。これらのファイル名を Default.uprojectdirs
にする必要はありません。ファイルの拡張子が .uprojectdirs
であれば、自由に名前を付けることができます。
外部プロジェクト
外部プロジェクト とは、エンジンのディレクトリと同じルート ディレクトリ以外の場所にプロジェクト ディレクトリを持つプロジェクトです。構造の例としては次のようになります。
├── UE/
│ ├── Engine/
│ │ ├── Binaries
│ │ ├── Build
│ │ ├── Config
│ │ └── ...
│ ├── ...
│ ├── Default.uprojectdirs
│ ├── GenerateProjectFiles.bat
│ └── ...
├── PROJECT1/
│ ├── Binaries
│ ├── Build
│ ├── Config
│ ├── ...
│ └── PROJECT1.uproject
├── PROJECT2/
│ ├── Binaries
│ ├── Build
│ ├── Config
│ ├── ...
│ └── PROJECT2.uproject
└── ...
ランチャー (バイナリ) ビルドから外部プロジェクトを作成した場合は、その .uproject
ファイル内の EngineAssociation
フィールドが、その作成に使用したランチャー エンジンのバージョン番号に設定されます。Unreal Editor のソースビルド バージョンからプロジェクトを作成した場合は、そのエディタの グローバル一意識別子 (GUID) が使用されます。この GUID は、ソースビルド エディタを初めて起動した際に自動的に生成され、コンピュータに保存されます。これが保存される場所はオペレーティング システムによって異なります。
Windows:
Registry:
Computer\HKEY_CURRENT_USER\SOFTWARE\Epic Games\Unreal Engine\Builds
Mac:
File:
~Library/Application Support/Epic/UnrealEngine/Install.ini
Linux:
File:
~/.config/Epic/UnrealEngine/Install.ini
たとえば、PROJECT1
を Unreal Editor のソースビルド バージョンから作成した場合、その「PROJECT1.uproject
」ファイルは次のような構造になります。
{
"FileVersion": 3,
"EngineAssociation": "{5FFE8984-EA6F-49EC-859E-6CB8C10FE54D}",
"Category": "",
"Description": "",
"Modules": [
...
],
"Plugins": [
...
],
"TargetPlatforms": [
...
]
}
5FFE8984-EA6F-49EC-859E-6CB8C10FE54D
は、プロジェクトの作成に使用した Unreal Editor のソースビルド バージョンに関連付けられた GUID です。それとは対照的に、PROJECT2
が Unreal Editor の UE 5.1 ランチャー バージョンで作成された場合、その「PROJECT2.uproject
」ファイルは次のようになります。
{
"FileVersion": 3,
"EngineAssociation": "5.1",
"Category": "",
"Description": "",
"Modules": [
...
],
"Plugins": [
...
],
"TargetPlatforms": [
...
]
}
プロジェクトの Unreal Engine バージョンを変更する
プロジェクトを開く際に使用する Unreal Engine のバージョンを変更できます。変更するには、プロジェクトの .uproject
ファイルを右クリックして [Switch Unreal Engine version... (Unreal Engine のバージョンを切り替え...)] を選択します。これにより、このプロジェクトを開く UE バージョンを選択できるドロップダウン メニューを備えたダイアログ ボックスが表示されます。このダイアログ ボックスを最初に開いた際は、このプロジェクトを開くように設定された現在の Unreal Engine バージョンが表示されます。このドロップダウン メニューに含まれる各ランチャー ビルドはそのバージョン番号 (4.27 または 5.0 など) で識別され、各ソース ビルドは バイナリ ビルド または ソース ビルド として識別されて、その後にビルドのディレクトリが続きます。このディレクトリは、.uproject
ファイルの EngineAssociation
フィールドと関連付けれられた GUID キーに関連する値です。エンジン バージョンを切り替えるには、ドロップダウン メニューから希望の Unreal Engine バージョンを選択します。システムにより、この変更を実装するためにプロジェクト ファイルが再生成されます。
コードをプロジェクトに追加する
C++ クラス ウィザード
[C++ Class Wizard (C++ クラス ウィザード)] では、独自の機能で拡張するために、ネイティブ C++ コード クラスを 高速かつ簡単に追加することができます。これにより、コンテンツのみのプロジェクトをコード プロジェクトへ変換することができます。次の手順に従って C++ クラス ウィザードにアクセスし、新規 C++ クラスを作成できます。
「Visual Studio をセットアップする」を参照し、互換性のあるバージョンの Visual Studio がインストールされていることを確認してから作業を始めてください。Xcode の正しいバージョンについては、
メイン エディタで、[Tools (ツール)] > [New C++ Class... (新規 C++ クラス...)] の順に選択します。
[C++ Class Wizard]に [Common Classes (よく使うクラス)] クラス がデフォルトで表示されます。探しているクラスが見つからない場合、[All Classes (すべてのクラス)] を選択することで、クラスの階層リスト全体を表示できます。
追加するクラスを選択します。このデモでは、新しい Actor クラスを作成するために選択します。Actor クラスを選択し、[Next > (次へ)] をクリックします。
新しいクラスの 名前 の入力を求められます。名前を入力して [Create Class] をクリックします。ヘッダ ファイル (
.h
) とソース (.cpp
) ファイルが作成されました。クラス名には英数字のみを使用してください。スペースを含むことはできません。無効な名前を入力すると、通知が表示されます。
Unreal Engine は、Live Coding はデフォルトで有効になっています。[Live Coding] ウィンドウが開き、作成された新しいクラス ファイルをコンパイルします。
編集終了時のクラスのコンパイルに関する説明は、「プロジェクトのコンパイルのドキュメント」を参照してください。