Lyra Starter Game は Unreal Engine (UE) のメジャー リリースごとに更新されています。これらの更新はエンジンの最新機能を活用するもので、Lyra に特有の問題が解決されます。このページでは、各エンジン バージョンでの Lyra に対する主要な変更について説明し、既存のゲームで Unreal Engine の最新リリースの機能を活用できるようにアップグレードするための情報を紹介します。
最新エンジン リリースにアップグレードする
Lyra のような C++ コードを含むゲームは、Unreal Engine のメジャー リリースで機能させるために手動で更新する必要があります。5.0.x から 5.1.x などへのエンジンの主要な各更新では、旧式の機能や設定が非推奨となったり、プロジェクトで使用中の既存の関数や変数が変更されたりすることがあります。そのため、アップグレード後は、一部のゲーム固有のコードやデータを適切に機能させるために更新する必要があります。 ゲームを更新するには、Lyra を例として取り上げた以下のステップを実行します。
-
新エンジン バージョンのリリース ノート(what-is-new/unreal-engine-5-2-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.3
Unreal Engine 5.3 では、Lyra サンプル ゲームのサポートに引き続き、対応しています。エンジンに追加された最新機能や修正を活用するようになりました。
5.3 のアップグレード ノート:
-
一部のオブジェクト ポインタ変数は、
TObjectPtr
を使用するように変更されました。 -
安全でない使用方法についての警告を修正するように、複数の C++ ラムダが更新されました。
-
不要なパスを削除するように一部のヘッダ インクルードが更新されました。
5.3 の改善点:
-
Lyra に実験的機能であるクライアント リプレイ サポートが含まれるようになりました。それらがサポートされるプラットフォームでは、リプレイの保存を設定メニューで有効にしてから、メイン メニューで再生できます。保存されたリプレイは、現時点では一部のビジュアル エフェクトおよびサウンド エフェクトでは利用できません。一部のプラットフォームでは、クライアント リプレイ サポートがサポートされていない場合があります。
-
共有ゲームプレイ設定は、新しいエンジンの
LocalPlayerSaveGame
クラスから継承されるようになり、プラットフォームのログインが正常に完了するまでロードされないようになりました。 -
ゲーム機能 ShooterExplorer プラグインに、オープン ワールドおよび AI システムをテストする一部の現在進行中の実験的コンテンツが含まれるようになりました。
-
Lyra 固有の入力設定が、拡張入力の改善を処理するように更新されました。
5.3 のバグ修正:
-
ゲームプレイ アビリティ、およびマップ内に直接配置される NPC キャラクターのカスタマイズ済みキャラクター パーツの問題を修正しました。
-
SyncMarker、FootFX、および FootstepEffectTag アニメーション モディファイアが更新されました。
-
タッチベースのジョイスティックが非表示中に入力に影響するバグを修正しました。
-
リプレイ テスト中に発見された複数のネットワーキングのバグを修正しました。
-
LyraHealthComponent でのヘルス変更コールバックに発信者が含まれるようになりました (利用可能な場合)。
Unreal Engine 5.2
Unreal Engine 5.2 では、Lyra サンプル ゲームのサポートに引き続き、対応しています。エンジンに追加された最新機能や修正を活用するようになりました。
5.2 のアップグレード ノート
-
コンパイル時間を向上させるために、エンジン ヘッダが再編成されました。この改善により、Lyra でヘッダがない場合の問題が明らかになりました。たとえば、
OnlineError.h
をインクルードするために、CommonUserSubsystem.h
を変更する必要があります。 -
Lyra の 5.1 バージョンでは Iris ネットワーキング システムがオプションでのサポートでしたが、これがエンジンにデフォルトでコンパイルされるようになりました。5.2 で Lyra の以前のバージョンをコンパイルするとネットワーキング リンカ エラーが発生します。このエラーは、
"SetupIrisSupport(Target);"
をLyraGame.build.cs
に追加することで修正できます。
5.2 の改善点
-
LyraGame
ゲームプレイ タグがLyraGameplayTags
名前空間内にあるタグを使用するように変更されました。これにより、オブジェクト初期化中にそれらのタグを使用できます。 -
マッチの最後のマップ転送で (または、PlayNextGame コンソール コマンド チート使用時に) シームレスな移行が使用されるようになりました。
-
Lyra にローカル マルチプレイヤーの実験的サポートが追加されました。ローカル マルチプレイヤーをアクティブ化するには、2 番目に接続した同じタイプのコントローラーでスタート ボタンを押すか、メイン メニューの [Add Player (プレイヤーを追加)] ボタンをクリックします。
-
専用サーバーのサポートが改善されました。コマンド
-server
を使用し、パッケージ化済み LyraServer またはエディタのゲームを実行すると、ALyraGameMode::TryDedicatedServerLogin
内のコードを使用してデフォルトのマップのホストが開始されます。 -
レプリケーション グラフ、Iris、およびパケットの暗号化に対する、ネットワーキングのサポートが追加されました。このオプションはデフォルトではオフになっています。
-
一部のプラットフォームでのトリガーの抵抗やコントローラーのカラーなど、Input Device プロパティを含めるようにハプティック フィードバックが変更されました。
コントローラーのカラーがチーム カラー (赤または青) に一致するようになりました。 武器インスタンスの装備時にデバイス プロパティを追加できるようになりました。たとえば、ショットガンを装備すると、PlayStation DualSense コントローラーでのトリガーの抵抗が重くなります。
-
Lyra のパッケージ化で複数の
.pak
ファイルが作成されるようになりました。これは、ゲーム機能のプラグインの内部に Primary Asset Label を使用して設定します。
5.2 のバグ修正:
-
シームレスな移行およびローカル マルチプレイヤーをサポートすると同時に、多くのネットワーキングおよび UI の問題が修正されました。
-
キャラクター移動時のアニメーションのスタッタが修正されました。これは、5.1.1 で最初に修正されたものでした。
-
LyraClient ビルド ターゲットの複数の問題を修正しました。これにより、専用サーバーに参加できるようになりました。
-
LyraGame になるビルド スクリプトのデフォルト ゲーム ターゲットを修正しました。
-
不明なバージョン コントロール ステータスでのアセットに関する
EditorValidator_SourceControl
の警告の頻度を少なくしました。
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
の初期ステート システムを使用するように、LyraHeroComponent
とLyraPawnExtensionComponent
内のポーン初期化フローが書き換えられました。これによってネットワーク レプリケーションにおけるいくつかの競合状態が修正されて、新しい機能特有のコンポーネントに合わせて拡張しやすくなります。 -
さまざまな機能を備えたデバイスに向けて Android デバイス プロファイルを追加し、他のプラットフォーム設定も調整しました。
-
共通マップのロードに関する UI をエディタのツールバーに追加しました。
-
Epic Online Services を使ったマルチプレイヤー ゲームへの招待のための基礎処理を追加しました。
-
新しい 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 のバグ修正
-
さまざまなインストール ディレクトリを処理できるよう自動化スクリプトを修正しました。
-
逆のマウス設定を修正しました。
-
マネキン リターゲティング アセットとコントロールリグ アセットを更新しました。
-
モバイル デバイス プロファイルのアンチエイリアス設定を更新しました。
-
不足していたエディタ アイコンを追加しました。