Unity+UnrealEngine4+Blog.

UnityやUnrealEngine4とかについて学習したことを書いてます

UE4 プロジェクト・パッケージ後のexeデータのリネーム(C++ファイルを追加した場合)

C++ファイルを追加した場合のUE4でプロジェクトのリネームについての記事になります。すごくめんどくさいです。英単語のスペルミスには気をつけましょう。

 

ベースの元ネタは下ですが、私の環境でエラーがでる部分があったので一応手順を書きます。

https://answers.unrealengine.com/questions/242407/renaming-a-c-project.html

 

作業に入る前にバックアップは必須です。

またリネーム後にC++ファイルを追加した場合などの動作確認はしていません。

 

例としてブループリントベースで「A」というプロジェクトを作成して、C++ファイルを追加したあとに(自分の場合はプラグインのビルドのために作成しました)
これをBというプロジェクトへリネームします。パッケージ後のデータもBという名前で作成されます。

f:id:nabesi777:20200618181112p:plain

 

*ちなみにC++ファイルを作成していない場合は、下の記事を参考にすればいけると思います。(未検証)

https://www.notion.so/TODO-f0f8a1d7755d449a953a67ac9c6d47f1#22f3f8eeada744bb9223c07230a04d3e

https://www.notion.so/TODO-f0f8a1d7755d449a953a67ac9c6d47f1#48066a2744e1472aa47ea53f931495f7

 

C++ファイルを追加した後、プロジェクトファイルへBuildsというフォルダを作成してそこへ一度パッケージ化した状態です。↓

f:id:nabesi777:20200618182131p:plain

f:id:nabesi777:20200618182200p:plain

 

1.一番元のフォルダ名をBへ変更

  私の階層 UE4_TestProjects > A  ->  UE4_TestProjects > B

f:id:nabesi777:20200618182804p:plain

 

2. A.uproject  ->  B.uprojectへ変更

f:id:nabesi777:20200618182852p:plain

3.  B.uprojectを右クリックして、テキストエディターで開く

 中身のAをBへ書き換える

f:id:nabesi777:20200618183016p:plain

 

4. Sourceフォルダを開くいてファイル・フォルダともAの部分をBへ書き換える

これを

f:id:nabesi777:20200618183134p:plain

こう

 

f:id:nabesi777:20200618183216p:plain

4. BEditor.Target.cs とB.Target.csをテキストエディターで開いて、すべてのAをBへ置き換える(一括返還を使えば早いので、Aという名前を付けたのは失敗でした)

三か所変わってます。

f:id:nabesi777:20200618183438p:plain

f:id:nabesi777:20200618183556p:plain

 

 

5. Source > Bフォルダ内 A.Build.csのファイル名と中身をBへ書き換える

f:id:nabesi777:20200618183750p:plain

f:id:nabesi777:20200618183802p:plain

 

6. Sourceフォルダを作るために最初に仮で作成したC++ファイルを削除する。

削除後のフォルダ↓ *削除しないC++ファイルがある場合で、それが原因でプロジェクトのリビルドエラーが起こるかもしれません。その場合は参照関係を見直す必要があるかもしれません。やってないので私は知りません!笑

f:id:nabesi777:20200618184234p:plain

7. B.uprojectを右クリックしてGenerateVisualStudioprojectfilesをクリックします。

f:id:nabesi777:20200618184422p:plain

 

8. B.slnができるので、それを開いて -> A.cppファイルを開きます。

f:id:nabesi777:20200618184645p:plain

 

9. A.cppの中身を書き換えます。

この部分を

IMPLEMENT_PRIMARY_GAME_MODULE( FDefaultGameModuleImpl, A, "A" );

こうします

IMPLEMENT_PRIMARY_GAME_MODULE( FDefaultGameModuleImpl, B, "B" );

 

10. Configフォルダの中にあるファイルの中身すべてをチェックして、Aという名前があればBへリネームします。

今回の私のケースはありませんでした。

 

11. Config>DefaultEngine.iniを開いて、1行追加する。

  [URL]の下へ、GameName=Bとします。

f:id:nabesi777:20200618185211p:plain

 

12. IntermediateフォルダとSavedフォルダを削除します。

f:id:nabesi777:20200618185311p:plain

13. B.uprojectを開きます。この時リビルドを聞かれるので、okします。

f:id:nabesi777:20200618185357p:plain

 

プロジェクト名が変わってます。

f:id:nabesi777:20200618185455p:plain

 

 

一応パッケージのテストも

f:id:nabesi777:20200618190323p:plain

 

無事リネームできましたが、なにやらごちゃごちゃやってるので、今後問題にならないかなぁとも思ってます。

 

あと他の方法としては新しいプロジェクトを作成して、古いプロジェクトを全migrateする方法もあるかもしれません。(未検証)

 

Unityでは簡単なことも一部ue4でややこしいところありますね・・

あとfbxとか素材いれたもの全部uassetに変換されるのやめてほしいです。