Unreal Engine Package 1
UEを使ったプロジェクトで市場に出したり形式にする場合、パッケージする必要があります。
プラットフォーマー(Sony/Microsoft/Google/Apple等)へ最終的に提出する形式ですね。
コンシューマではリージョン毎にスマホではAndroid/iOSで出力したりする必要がありますよね。
コマンドから作れると色々便利なのでEditorからのパッケージ作成を調べてみます。
まずEditorからのパッケージは次の手順で作成できます。
パッケージする時のプロジェクト設定
出力するときにOutputLogにコマンドが流れるのでそれを解析していけば辿りつけます。
コマンドラインからのパッケージ出力
"D:\Program Files (x86)\Epic Games\4.14\Engine\Binaries\DotNET\AutomationTool.exe" -ScriptsForProject="D:/Unreal Projects/Package/Package.uproject" BuildCookRun -nocompile -nocompileeditor -installed -nop4 -project="E:/Unreal Projects/Package/Package.uproject" -cook -stage -archive -archivedirectory="D:/Unreal Projects/Package/Test" -package -clientconfig=Shipping -ue4exe=UE4Editor-Cmd.exe -pak -prereqs -distribution -nodebuginfo -targetplatform=Win64 -CrashReporter -utf8output
解説
"D:\Program Files (x86)\Epic Games\4.14\Engine\Binaries\DotNET\AutomationTool.exe"
ビルドするためのコマンドを走らせるためのUEのパス
-ScriptsForProject="D:/Unreal Projects/Package/Package.uproject"
パッケージする対象のuproject
-archivedirectory="D:/Unreal Projects/Package/Test"
パッケージを出力するパス
-clean
Project Setting - Full Rebuildで付加されるオプション
-nodebuginfo
Project Setting - Include Debug Files で付加されるオプション
-distribution
Project Setting - For Distribution で付加されるオプション
Github
テストしたプロジェクトもGithubにコミットしています(UE4.14.2)。
ビルド出来なくなってたり、色んなプラットフォームで動かしてたりすると動かなくなったりすることがあるのでJenkins等と連携して早期にバグを検出するためにも機械的にパッケージする方法を調べてみました。