Lyra Starter Game は Unreal Engine のメジャー リリースごとに更新されています。これらの更新はエンジンの最新機能を活用するもので、Lyra に特有の他の問題も解決されます。このページでは、それぞれのエンジン バージョンで Lyra に加えられた主要な変更について説明し、既存のゲームを Unreal Engine 5 の最新リリースにアップグレードする際に役立つ情報を紹介します。
最新のエンジン リリースにアップグレードする
Lyra のような C++ コードを含むゲームは、Unreal Engine のメジャー リリースで機能させるために手動で更新する必要があります。5.0.x から 5.1.x へのエンジンの主要な各更新では、旧式の機能や設定が非推奨となったり、プロジェクトで使用中の既存の関数や変数が変更されたりすることがあります。そのため、アップグレード後は、一部のゲーム固有のコードやデータを適切に機能させるために更新する必要があります。
ゲームを更新するには、Lyra を例として取り上げた以下のステップを実行します。
-
新エンジン バージョンの リリース ノート(what-is-new/unreal-engine-5-1-release-notes) を参照し、ゲームに影響を及ぼす可能性のある主要な変更やアップグレードに関する情報を把握します。
-
エンジンの最新バージョンをダウンロードしてインストールします。ゲームの旧バージョンと新バージョンを比較できるように、現在のエンジン バージョンとは異なるディレクトリにインストールすることをお勧めします。
-
エンジンの最新バージョンに一致する Lyra Starter Game サンプル(https://www.unrealengine.com/marketplace/ja/product/lyra?sessionInvalidated=true) の最新バージョンをダウンロードしてインストールします。これによって更新の内容を確認できます。異なるディレクトリにインストールした場合は、これを古いバージョンと比較することができます。
-
エンジンの最新バージョンとの互換性については、「Unreal Engine 5 への移行ガイド(what-is-new/unreal-engine-5-migration-guide)」を参照してください。
-
プロジェクトを C++ コード エディタにロードして、コンパイルを試みます。おそらく失敗するはずです。
-
非推奨機能に関する情報に含まれる指示に従い、非推奨に関する警告をすべて修正します。
-
無効または不足しているクラスや構造体に関連するエラーについては、ファイルの冒頭に
#include
行を新たに追加する必要があります。Visual Studio を使用している場合は、[Edit (編集)] > [Find and Replace (検索と置換)] > [Find In Files (フォルダーを指定して検索)] に移動して、不足している型の名前を検索します。その型を定義するヘッダ ファイルを見つけて、#include
を新たに追加します。 -
バーチャル関数オーバーライドのエラーについては、オーバーライドされた関数のパラメータをヘッダ ファイルと
.cpp
ファイルの両方で更新する必要があります。 -
クラスまたは構造体上の無効な変数に関するエラーについては、その変数にアクセスするための別のメソッドを使用する必要があります。通常、これは
Get()
やGetVariableName(
) などの、実際の値を返すアクセサ関数を呼び出すことで解決できます。 -
エラーの修正方法がよくわからない場合は、リリース ノート(what-is-new/unreal-engine-5-1-release-notes) を参照するか、コミュニティ フォーラム(https://forums.unrealengine.com/) で詳細について質問してみてください。
Lyra Starter Game の新旧バージョンを比較することで、ソース コードに対する複雑な変更をどのように処理すべきかを確認できます。以下は、Lyra のコードやコンテンツを含むゲームをアップグレードする際に役立つバージョン固有の情報です。
Unreal Engine 5.1
Unreal Engine 5.1 では、Lyra Sample Game のいくつかの問題を修正して、エンジンに加えられた最新機能を活用できるように Lyra Sample Game が更新されました。
5.1 のアップグレード ノート:
-
コンパイル時間を向上させるために、いくつかのエンジン ヘッダが再編成されました。これにより、Lyra ソース ファイルに関するいくつかのエラーが新たに生じました。これらの問題は、不足しているヘッダに
#pragma once
行を追加し、型の不足に関するエラーがあるソース ファイルに#include EditorStyle.h
などの行を追加することで修正できます。 -
ゲームプレイ フレームワーク クラスのいくつかの生ポインタ プロパティが
TObjectPtr
またはTWeakObjectPtr
を使用するように変更されました。生ポインタを必要とするコードは、Get()
関数への呼び出しを追加することで修正できます。 -
ENSURE_ABILITY_IS_INSTANTIATED_OR_RETURN
マクロが「GameplayAbility.h
」から除去されました。このマクロは、「GameplayAbility.cpp
」から別のアビリティ ソース コード ファイルにコピーできます。 -
ゲーム機能プラグインに関連するいくつかのバーチャル関数が変更されて、新しいパラメータが追加されました。
ULyraGameFeaturePolicy
など、クラス内のオーバーライドされた関数は更新する必要があります。 - ジオメトリ メッシュ ブループリント
Tools/BakedGeneratedMeshSystem/BaseClasses/BakedGeneratedMeshActor
が 5.1 に更新されました。5.0 アセットも引き続き機能しますが、5.1 バージョンを使用しないと Nanite を適切に設定できなくなります。
5.1 の改善点:
-
新しい
IGameFrameworkInitStateInterface
とGameFrameworkComponentManager
の初期ステート システムを使用するように、ULyraHeroComponent
とULyraPawnExtensionComponent
内のポーン初期化フローが書き換えられました。これによってネットワーク レプリケーションにおけるいくつかの競合状態が修正されて、新しい機能特有のコンポーネントに合わせて拡張しやすくなります。 -
さまざまな機能を備えたデバイスに向けて Android デバイス プロファイルを追加し、他のプラットフォーム設定も調整しました。
-
共通マップのロードに関する UI をエディタのツールバーに追加しました。
-
Epic オンライン サービスを使ったマルチプレイヤー ゲームへの招待のための基礎処理を追加しました。
-
新しい ShooterExplorer プラグインと ShooterTest プラグインに、プロトタイプとテスト コンテンツを追加しました。
-
割り当て済みのキーをバインディングしようとした際に警告画面が表示されるように、キー割り当ての画面を改善しました。
5.1 のバグ修正:
-
「
LyraGame.Target.cs
」に含まれるShouldEnableAllGameFeaturePlugins
関数がfalse
を返すように変更されたため、ゲーム機能プラグインを通常のプラグインと同様に有効にできるようになりました。これによってプラグインが修正されて、エンジンのカスタム コンパイル バージョンとランチャー インストール バージョンの両方で同じように機能するようになります。 -
Lyra を実行することで他のプロジェクトの既存のプレイ イン エディタ (PIE) のキー割り当てが変更される問題を修正しました。
-
ヘルス値に負のモディファイアを適用するのではなく、回復とダメージの属性を適切に使用するよう各機能を変更しました。
-
非推奨のコントローラー ID の代わりに、新しい PlatformUser 型と InputDeviceId 型を使用するようにコードとブループリントを更新しました。
Unreal Engine 5.0
Lyra Sample Game の 5.0 バージョンは 5.0.2 とともに更新されて、元のリリースに含まれていたいくつかのバグが修正されました。これらの修正は、それ以降のすべてのサンプルのリリースに含まれています。
5.0.2 のバグ修正:
-
さまざまなインストール ディレクトリを処理できるよう自動化スクリプトを修正しました。
-
逆のマウス設定を修正しました。
-
マネキン リターゲティング アセットとコントロールリグ アセットを更新しました。
-
モバイル デバイス プロファイルのアンチエイリアス設定を更新しました。
-
不足していたエディタ アイコンを追加しました。