BLOGブログ

2019.11.27UE4

[UE4]パッケージした日時をゲーム中に取得できるようにしてみた。

執筆バージョン: Unreal Engine 4.23

各プラットホームで修正内容などを確認する際、ユニークな番号を表示させてみたりバージョン管理をしてる場合などはリビジョン番号をゲーム内に表示させたりしてプロジェクトが修正内容が反映されてるものかを確認したりするかと思います。

自分が関わっていたあるプロジェクトではINIファイルにパッケージ時の日時を記入しいつ作成されたものかを確認できるようにしていました。

ただ忘れっぽい私はことごとくこのINIファイルの更新を忘れいつ更新したものか悩むことが多々ありました。

なので今回は記憶力を強化することよりもパッケージング時に勝手に更新させるようにしてみました。

 

今回はサンプルなので新規プロジェクトを作成されると必ず生成されるファイル「プロジェクト名.h」に

日付を取得するための文字情報をGAME_BUILD_DATEとして定義しました。

 

そして「プロジェクト名.Build.cs」でクック時に先程定義したGAME_BUILD_DATEの文字列を更新するようにしてみました。

ModuleRulesはソリューションからの実行時やエディター上でのコンパイルでも処理が走るため

if (Target.Type == TargetRules.TargetType.Editor)

を追加してエディター以外での実行時のみ処理が走るようにしてあります。

これで後はBlueprintFunctionLibraryなどでGAME_BUILD_DATEを取得できるようにするゲッターを作成すれば

ゲーム内で使用することが可能です。

簡単ではありますが以上となります。

今回では日時の更新を行いましたがパッケージング時のC++コンパイル前に処理を入れられるため外部ファイルを参照して

何かコネコネできたり…するかもしれないので覚えておくといつか役に立つ日があるかもしれません(ないかもしれません)

少しでも皆様の開発に役立てばと思います。

ここまで読んでいただきありがとうございました。