UE4.14 GameModeBaseとGameStateの併用はNG

UE4.14で追加された(というより機能分けされた?)
GameModeBase/GameMode
GameStateBase/GameState

この2つ、GameなんちゃらBase(以下「Base付」)の方はシングルプレイ用、そうでない方(以下「非Base付」)はBase付のクラスを継承しマルチプレイ用の機能が搭載されております(詳細な機能は未確認)。

(ややこしいのであえてカタカナで)ゲームモードが非Base付の場合、ゲームステートはどちらでもOKですが、ゲームモードがBase付の場合はゲームステートは必ずBase付にする必要があります

要は機能限定版であるGameModeBaseを使用するなら、その上に載るゲームステートも機能限定版である
GameStateBaseを使用する必要がある、という事です。
GameModeBaseの中でGameState継承(非Base付)のゲームステートを使う設定をしてしまうと、
強制的にデフォルトのGameStateBaseを使用する設定に上書きされてしまいます。
その場合、警告などの表示も無い為、ゲームステートへのアクセスがうまく行かなくなる恐れがあります。
(別アクタでGetGameStateしたらなぜか使用してないGameStateBaseが返ってきた)

 

まとめると
GameModeBase + GameStateBase = OK
GameMode + GameState = OK
GameMode + GameStateBase = ?? (このパターンなら両方Base付が良さそう)
GameModeBase + GameState = NG

 

エディタ上ではゲームモードの設定の際、本来GameModeBaseならGameStateBase、GameModeならGameStateを選ぶべきだと思いますが現状は設定出来てしまうのでゲームモードをいじる場合は十分注意しましょう。

 

広告

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中