CPPプロジェクト無しでプロジェクトを生成して、後からやっぱりCPPソースコードを追加したい場合の方法です。
地味な事ですが頻繁にやる事では無いので、いざやろうとするとどうやれば良いかド忘れします。
新しいC++クラスを追加して、VSプロジェクトを生成する
UE4のプロジェクトファイルを直接右クリックして、Generate Visual Studio project filesを選択してもVSプロジェクトは生成出来るのですが、
結局C++ファイルが無いとVSプロジェクトを生成出来ないので、UE4からC++ファイルを追加します。
UE4のメニューバーからFile -> New C++ Classを選択します。
Tips
UE5の場合は、メニュー -> Tools -> New C++ Classを選択します。
適当にActorを選択してNextボタンを押します。
適当にActor名をMyActor(自動生成された名前のまま)にし、Create Classボタンを押します。
Visual Studioプロジェクトが生成されます。ちょっと時間がかかります。
コンテンツブラウザにC++ Classesフォルダが追加され、MyActorが追加されます。
MyActorを開くとVisual Studioが起動しソースコードが表示されます。
エクスプローラーで確認するとVSプロジェクトに必要なフォルダが幾つか追加されている事を確認出来ます。
ちなみに既にC++ファイルがあって、slnファイルが無い場合は.uprojectファイルを右クリックして、Generate Visual Studio project filesを選択するとslnファイルが生成されます。
C++ファイルを削除する方法
C++ファイルを追加するのは簡単なのですが、何故か削除に関しては面倒です。
アンリアルエディター上で右クリックしてもDeleteは選択出来ません。
アンリアルエディターを終了させます。
エクスプローラーでダイレクトにcppファイルを削除します。
Public指定で生成している場合、hファイルはPublicフォルダにあるのでこちらも削除します。
Visual Studioを起動し、同様にcppとhファイルを削除します。
ソリューションのリビルドを行います。
リビルド完了したらアンリアルエディターでプロジェクトを起動し、対象のファイルが消えている事を確認します。
ノードコメント表示の文字化け修正
C++で作成したファイルからBPクラスを生成すると、日本語のコメントが文字化けします。
Visual Studioの言語設定が日本語だと、アンリアルエディターからC++ファイルを自動生成した時に文字コードがS-JISになってしまいます。
まずはソースコードをUTF-8に変更する必要があります。
Visual Studio Code(
https://azure.microsoft.com/ja-jp/products/visual-studio-code/)を起動し、下のエンコード名部分をクリックします。
文字化けしていたら「エンコード付きで再度開く」を選択して、Shift JISを選択して文字化けしていない状態にします。
文字化けしていない状態で下のエンコード名部分をクリック、「エンコード付きで保存」を選択します。
「UTF-8」を選択し、UTF-8の文字コードでソースコードを保存します。
Visual Studioの言語パックに日本語しか無いと、自動的にS-JISになるのか分かりませんがソースコードをUTF-8に変更しても文字化けします。
Visual Studio インストーラー(
https://visualstudio.microsoft.com/ja/)を起動して変更ボタンを押します。
言語パックで英語にチェックを入れてインストールします。
インストール完了したらVisual Studioを起動し、メニューバーからツール -> オプションを選択します。
環境 -> 国際対応の設定を選択し、言語でEnglishを選択してVisual Studioを再起動します。
ビルドしてアンリアルエディターを再起動してノードを確認して日本語コメント表示される事を確認します。
言語パックは一度インストールすれば良いのか分かりませんが、Visual Studioを日本語に戻して、英語の言語パックをアンイストールしてから、リビルドしてアンリアルエディターを再起動しても文字化けしなくなりました。
Liveコーディングを使用する
Liveコーディングを使用する事でUE4エディターを起動したままC++ファイルをコンパイルして反映させる事が出来ます。
Liveコーディングを有効にするにはUE4エディターのEditor Preferencesを開き、GeneralのLive Codingを選択し、Enable Live Codingにチェックを入れてUE4エディターを再起動します。
またはメニューにあるComplieアイコンの脇の▼ボタンをクリックし、Enable Live Codingにチェックを入れてUE4エディターを再起動します。
ちなみにLiveコーディング有効時は、手動リビルドが出来なくなるのでcppファイルを削除したい場合はLiveコーディングを一度無効にする必要があります。
ビルドエラーになる場合
ビルドエラーになる場合、VisualStudio の UnrealEngine用オプションがインストールされてない可能性があります。
VisualStudioインストーラー(
https://visualstudio.microsoft.com/ja/downloads/ )を使用して、 UnrealEngine用オプションをインストールして下さい。
'C++によるゲーム開発'の以下オプションをインストールします。
- Unreal Engineブループリント用のVisual Studioデバッガーツール
- Unreal Engineのインストーラー
- Windows11 SDK最新のバージョン(Windows10の場合はWindows10 SDK)