パッケージ後、動作がおかしくなります

エディタ上では問題なく動作するのですが、パッケージ化するとAIが動かなくなります。

原因として、考えられるものは何かありますでしょうか?
ご教授頂けると幸いです。

動作がおかしくなる、とは、具体的に何が起きていますか?
原因として考えられるのは、あなたが使用しているAIの設定がパッケージ向けになっていないことや、エディター専用の機能を使用している可能性などが考えられます
ナビメッシュを使用されている場合は、ビルドデータからナビが消えているかもしれません

質問をするときは、こちらのヘルプに沿って手助けをしやすいようにしましょう

内容がアバウトなので、一般的なアドバイスをいたします

まずパッケージ化をする前に、パッケージング設定を確認してください
パッケージング設定はこちらで確認できます
プロジェクトをパッケージ化する
UE4 パッケージ化設定のポイントを押さえる Windows
(UE5.1のパッケージング変更点)

次に、Windowsのパッケージ版であれば、exeファイルの{プロジェクト名}/Savedフォルダ以下に実行ログが出力されると思いますので、それを読んでエラーが出力されているか確認してください(もしくは、ログごとここに共有してもOKです)

余裕があれば、エディターでもPlay In Standaloneモードでプレイ結果を確認するようにしましょう
これは、パッケージ版ビルドに最も近く、パッケージ化する手間を省ける可能性があります

エディター上ではAIが動作するんですが、パッケージ化したらAIが動作しなくなるという感じです。

パッケージ化のサイトを確認してやってみたんですがやっぱりAIは動きませんでした

このプロジェクトはすべてBPで作っていてAIはナビメッシュを使用しています

エディター上でのスタンドアロン実行でも症状は同じですか?

ナビメッシュで動かないなら、ビルドができていない可能性がありますので、[Build]メニューから[Build Paths]をして再度試してみてください

スタンドアロン実行だとAIが動作します

@Hirekatu1
とりあえず、パッケージ版実行ログ内でエラーを検索してみてください

どのようなものを作っているかはわかりませんが、AIのBeginPlayで対象を取得(例えばGetPlayerCharacter)して、それを追いかけるような作りになっていないでしょうか?


BeginPlayの解決は順不同であり、ロード(Spawn)が完了したActorから実行されるため、AIのBeginPlayタイミングに対象のActorが存在するかどうかは保証されません

「Editor(PIE)では動く」のは、Editorでは関係するActorは常にロードされているためで、ロードのタイムラグが無く、BeginPlay時点でほぼすべてのActorにアクセスできます

Delayを入れて参照するのを遅らせるか、Actorの初期化順序をきちんと管理して、動作条件を満たせるように設計する必要があります

お返事遅くなって申し訳ございません

なんとか解決することが出来ました

ご教授ありがとうございました

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.