zer0から始めるプログラミング生活

UE4,unityなどいろいろメモ

【Unreal C++】⑨モジュール 【UE4】

C++でコードを書く際、UE4の公式ドキュメントで調べていると思いますが、UnrealC++ではHeaderファイルをincludeするだけではだめみたいです。


以下によるとUE4C++コードは、「モジュール」と呼ばれる単位で、「UnrealBuildTool」を通してビルドされるそうです。なので必要に応じて追加してあげる必要があります。
[UE4] モジュールについて|株式会社ヒストリア

モジュールに関してUE4.15以降で仕様変更があったので以下を参照してください。
ちなみに自分の環境はver4.18.3です。
miyahuji111.hatenablog.com

追加方法

①[ProjectName].Build.cs

([ProjectFolder]/source/[ProjectName]/)にある[ProjectName].Build.csを開くと、以下のようになっていると思います。

using UnrealBuildTool;

public class hogeProject : ModuleRules
{
	public hogeProject(ReadOnlyTargetRules Target) : base(Target)
	{
		PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;
	
		PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore" });

		PrivateDependencyModuleNames.AddRange(new string[] {  });
	}
}

②Moduleの追加

公式ドキュメントのAPIのリファレンスを見るとModuleの項目があり、
f:id:bigden:20180227074532p:plain

PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "HeadMountedDisplay", "UMG","UMGEditor" });

のnew string[] 以下の部分になければ "" で囲んで追加することでその関数を使用することが出来ます。