UE4 でプロジェクトのパッケージの時に起こっていた問題を修正するためにエンジンのソースを少し変更してみたところ、なぜか Mac でビルドができなくなってしまった。
[UE4] LogInit: Warning: Still incompatible or missing module: NekoGameDemo
NekoGameDemo というのは今作っているゲームの名前です。UE4 のプロジェクトをいったんクリーンしてからビルドしなおしたり、ゲームのプロジェクトの Intermediate とかのフォルダを消してやり直してもダメで、思いつくことは一通り試したけど、何か試すたびに何時間もかかるビルドを待つ必要があって途方に暮れていた。
で、最終的に、プロジェクトを C++ から Blueprint のプロジェクトに変更したら上の問題も出なくなったので、無事に Mac のビルドができた。
もともとゲーム自体はすべて Blueprint で記述しているけど C++ のプロジェクトとしていたのは、Spine のプラグインが C++ で書かれていたのでプロジェクト本体も C++ にしなきゃいけないと思っていたからだった。たしか Spine のドキュメントにもそう書いてあった。でも試しに Blueprint のプロジェクトを新規に作ってそこに Spine のプラグインを組み込んでみたところちゃんと動いたので、いま作っているゲームのプロジェクトも Blueprint に変更することにした。
しかしプロジェクトを C++ から Blueprint へ簡単に切り替えるような機能はないので、下のような流れで手動で切り替えた:
これでソースからコンパイルした UE4 を使ってパッケージをビルドしたら無事に動いた。
#UE4