UE5EA C++ ~Visual Studio Codeをインストールをデバッグするまで~
VisualStudio2022に対応した記事をZenn側で書いています。
コチラをさんこうにしてください。(2024/03/23)
Visual Studio 2019よりVisual Studio Codeの自動補完の方が優秀で無料だったので、Visual Studio Codeのデバッグが出来るまでの環境をまとめてみました。
Visual Studio 2019は有償(1万2千~5千円)のExtensionをおすすめされているので、別の機会に無料版で試してみます。
Visual Studio CodeのインストールからUE5 EAでのデバッグまで
Visual Studio Codeのインストール
Visual Studio Codeをダウンロードしてインストール
※Visual Studio 2019が入っている状態からのスタートになります
何もインストールされていない環境で試すことがあった際にこれより前の情報を追記します。
インストーラーは場所の選択以外はすべて次へでインストール完了します。
最初の画面ではエディタの色などを設定できますが、後からでも変えられるので[Mark Done]で終了させます。
Extensionのインストール
VS Codeに拡張機能をインストールします
【C/C++】をインストール
【C/C++ Extension Pack】をインストール
後で、Workspaceの設定する時に必要になってきます。
C#のExtensionも必要になるのでインストールします。
UE4 関連のExtension
便利そうなのを入れてみただけなので、まだ便利かどうかはわかりません。
VSCode/UE Intellisense Fixes Extension
色々と便利そうなので入れてみました。
https://gist.github.com/boocs/f63a4878156295b6e854cac68672f305
UE4で検索すると色々出てきたのインストールしてみました
Unreal Engine 4 Snippetsは例文を入れてくれるので便利です。
デバッグに必要なエディタシンボルがインストールされているか確認する
デバッグに必要なエディタシンボルが入っていなかったら追加する
C++プロジェクトを作成し、使用するエディタをVisual Studio Codeに設定する
FirstPersonテンプレートのC++プロジェクトを作成します。
FirstPersonテンプレート
C++
StarterContent:オフ
エディターをVisual Studio Codeに設定します。
Source Code > Visual Studio Code
プロジェクトを再起動すると設定が反映されます。
Visual Studio CodeでC++のソースコードが編集できるようになります
ワークスペースの編集
ワークスペースを一度、プロジェクトフォルダ直下に保存します。
プロジェクトフォルダ直下に保存します。
ヘッダーファイルをincludeしているファイルを開きます。
波線になっている箇所にマウスオーバーし、["includePath"設定の編集]を選択します。
c_cpp_properies.jsonが出来上がります。
Microsoft C/C++ 拡張機能の右側でJsonファイルの内容を設定することが出来ます。
エラーが出ている原因はIncludePathが設定されていないため、ヘッダーが無いという扱いになっています。
c_cpp_properies.jsonの"includePath"の部分を置き換えます。
C:\\Program Files\\Epic Games\\UE_5.0EA の部分は
インストールした場所に置き換えてください。
"includePath": [
"${workspaceFolder}/**",
"${workspaceFolder}/Source/**",
"${workspaceFolder}/Intermediate/Build/Win64/UnrealEditor/Inc/UE5_VSCode",
"C:\\Program Files\\Epic Games\\UE_5.0EA\\Engine\\Source\\Runtime\\Core\\Public",
"C:\\Program Files\\Epic Games\\UE_5.0EA\\Engine\\**"
],
definesを以下のURLで置き換えます
https://cdn.fs.teachablecdn.com/5GuRLyP1QtGXtVRTS6Cp
下3行の[MyProject]の部分は、作成したプロジェクト名で置き換えます。
CoreMinimal.hで"unistd.h"のファイルが開けません”というエラーが出ますが、Linuxで必要とされるファイルが開けないだけなので、Windowsではコンパイルエラーにはなりません。
【参考URL】
C++のクラスを追加する
C++の新規Actorクラスを作成します。
「メニューから作成する方法」と「コンテンツブラウザから右クリック」で作成する方法があります。
メニューからC++Classを作成するには、[Tools]>[New C++ Class…]から作成することが出来ます。
UE4では[File]メニューから作成できていたので、[Tools]に移動したことを知らないと戸惑います。
コンテンツブラウザから作成する方法はC++ Classes配下のフォルダ内で右クリック > [New C++ Class…]で作成することが出来ます。
C++ Classesのフォルダが表示されていない場合は[Show C++ Classes]を有効にします。
[Actor]を選択します。
Debugまで確認したいので、名前を[DebugActor]に設定します。
ClassType:Private
Name:DebugActor
> [CREATE CLASS]をクリック
DebugActor.h
#pragma once
#include "CoreMinimal.h"
#include "GameFramework/Actor.h"
#include "DebugActor.generated.h"
UCLASS()
class ADebugActor : public AActor
{
GENERATED_BODY()
public:
UFUNCTION(BlueprintPure, Category="UE C++ book")
float DebugAdd(const float A, const float B) const;
};
#include "DebugActor.h"
// Called when the game starts or when spawned
auto ADebugActor::DebugAdd(const float A, const float B) const -> float
{
float C = A + B;
return C;
}
UnrealEngineのエディタ右下の小さいアイコンがコンパイルボタンです。
クリックをして[Compile Complete!]が表示されればOKです。
C++クラスを配置してDebug用の処理を書く
レベルブループリントにZキーを押したら、DebugActor.cppの[DebugAdd]関数が呼ばれるようにします。
[Debug Actor]をビューポートに追加します
DebugActor1の参照を追加するので、DebugActor1を選択した状態でレベルブループリントを開きます。
DebugActor1の参照を追加します。
Zキーを押した時に、Debug Add関数を呼び出して、結果をPrint Stringに出力します。
New Editor Window(PIE)でプレイします。
Zキーを押してPrintStringが出力されていればデバッグする準備が整いました。
Debugする
Debug出来るように[launch.json]を作成して、Unrealを実行したりプロセスをアタッチ出来るように修正します。
C++(Windows)を選択すると、[launch.json]が作成されます
[launch.json]が作成されるので、UnrealをLaunch・Attachできるように置き換える
.uprojectやEngineのインストール場所は違っていたら置き換えてください。
UE4の時は[UE4Editor.exe]でしたが、
UE5から[UnrealEditor.exe]になるようです。
{
"version": "0.2.0",
"configurations":
[
{ "name": "Attach"
, "type": "cppvsdbg"
, "request": "attach"
, "processId": "${command:pickProcess}"
}
, { "name":"Launch"
, "type": "cppvsdbg"
, "request": "launch"
, "program": "C:/Program Files/Epic Games/UE_5.0EA/Engine/Binaries/Win64/UnrealEditor.exe"
, "args": [ "(プロジェクトファイルのフルパス).uproject", "-game" ]
, "cwd": "${workspaceRoot}"
}
]
}
launch.jsonが作成出来たら、デバッグしたい個所にブレイクポイントを追加します。
今回はDebugActor.cpp「DebugAdd」関数の足し算の処理をしている箇所にブレイクポイントを追加します。
それではデバッグを開始していきます。
[Attach]と[Launch]の2種類があるので、まずは[Attack]でデバッグをします。
実行とデバッグの右側のリストから[Attach]を選択します。
プロセスのアタッチの検索欄に[UnrealEditor]と検索し、[UnrealEditor.exe]を選択します。
New Editor Window(PIE)でプレイをします。
Zキーを押すとDebugAddが呼ばれるように処理を書いたので、ブレイクポイントの場所で処理が止まります。
ゲームに戻りたい時は[実行 > 続行]し、デバッグを終了したい時は[実行 > デバッグの停止]を選択します。
[Launch]試すので、デバッグの停止を行います。
次にDebugを[Launch]に変更して実行します。
全画面でゲームが実行されます。
Attackと同様にZキーを押すとブレイクポイントで処理が止まります。
【参考URL】
まとめ
C++関連のセットアップ情報がC++は書けるけど、使い勝手が良くなるところまで書かれていませんでした。
色々と情報が散らばっていたので、正しいか分からないのでこちらも随時修正していきます。情報を書いておいてくれた方や動画を作っていてくれた人に本当に感謝しかないです。
かなり使いやすくなるところまでC++を書けるようになったので楽しくなってきました。
Blueprintで処理を書くのも楽しいですが、ソースコードで処理を書くのも楽しいです。
この記事が気に入ったらサポートをしてみませんか?