ねじ式UE4備忘録

個人的にハマったこととか、為になったことをアウトプットする為のブログです。

パッケージ化した際に独自のコンフィギュレーションファイルが読めなくて困った話

みなさんコンフィギュレーションファイルは活用してますか?
今回はタイトル通り、パッケージ化した際に独自のコンフィギュレーションファイルが読めなくて困った話です。
コンフィギュレーションファイルとはなんぞやという方はこちら↓
コンフィギュレーション ファイル | Unreal Engine ドキュメント
簡単に言うと、パッケージ化した後でも変数の値がいじれる外部iniファイルです。(以下iniファイル)

私はDefaultGame.iniに直接は書かず、独自のiniファイル(仮にMyConfig.ini)をDefaultGame.iniと同じディレクトリに入れて-GAMEINIコマンドで読み込んで運用していました。

が、突如読み込まなくなる。

…心当たりはありました。
今までパッケージ化にあたって、UsePakFileのオプションを使っていなかったのですが、Pakファイルに圧縮を行ってから読み込めなくなりました。
Pakファイルに圧縮を行う前は\WindowsNoEditor\プロジェクト名\Config内にDefaultGame.iniやMyConfig.iniがあったのに、Configフォルダごと生成されていません。
おそらくPakファイルの中にまとめて圧縮されているのでしょう。
しかし、-GAMEINIコマンドでパスを指定できるのですからMyConfig.iniを後から作って読み込めばいい話です。

が、まだ読み込めない。

原因
どうも-GAMEINIコマンドで指定した名前と同名のiniファイルがPakファイル内にある場合、そちらを読み込んでしまうようです。(パス指定とは…?)

解決策

  • パッケージ化する前にConfigフォルダからMyConfig.iniを削除しておく
  •  Pakファイル内に圧縮されていない名前のiniファイルを指定して読み込む

 

以上、独自のiniファイルを作るときは気をつけようの話でした。
UE4.22