最近在看《大象无形》,遇到的第一个Coding问题就是创建自定义的模块Module,众所周知由于版本问题,UE的一些路径已经改变了,因此,本篇就梳理出亲测有效的创建自定义模块步骤——基于4.25版本。
1.创建一个UE的项目,记得选择为C++(当然后边也可以改),我这里命名为ModuleTest。
2.找到项目存放路径下的Source文件夹,如下图,在ModuleTest同级目录下新建MyModule文件下
注意MyModule下的文件及结构如下安排
MyModule
--Public
--FMyModule.h
--Private
--FMyModule.cpp
--FMyModulePrivatePCH.h
--MyModule.Build.cs
3.在VS中以添加筛选器的方式创建MyModule文件夹及其子文件夹结构,并使用添加现有项方式将.cpp与.h文件添加到对应结构上:
4.Coding
FMyModule.h
#pragma once
#include "Modules/ModuleManager.h"//注意老版本的直接#include "ModuleManager.h"
class FMyModule:public IModuleInterface
{
virtual void StartupModule() override;
virtual void ShutdownModule() override;
};
FMyModule.cpp
#include "..\Public\FMyModule.h"
#include "FMyModulePrivatePCH.h"
IMPLEMENT_MODULE(FMyModule, MyModule);
void FMyModule::StartupModule()
{
}
void FMyModule::ShutdownModule()
{
}
MyModule.Build.cs
using UnrealBuildTool;
public class MyModule : ModuleRules
{
public MyModule(ReadOnlyTargetRules Target) : base(Target)
{
PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore" });
PublicIncludePaths.AddRange(new string[] { "MyModule/Public" });
PrivateIncludePaths.AddRange(new string[] { "MyModule/Private" });
}
}
项目名.Target.cs(ModuleTest.Target.cs)添加Module
// Copyright Epic Games, Inc. All Rights Reserved.
using UnrealBuildTool;
using System.Collections.Generic;
public class ModuleTestTarget : TargetRules
{
public ModuleTestTarget( TargetInfo Target) : base(Target)
{
Type = TargetType.Game;
DefaultBuildSettings = BuildSettingsVersion.V2;
ExtraModuleNames.AddRange( new string[] { "ModuleTest","MyModule" } );//添加Module
}
}
项目名Editor.Target.cs(ModuleEditorTest.Target.cs)添加Module
// Copyright Epic Games, Inc. All Rights Reserved.
using UnrealBuildTool;
using System.Collections.Generic;
public class ModuleTestEditorTarget : TargetRules
{
public ModuleTestEditorTarget( TargetInfo Target) : base(Target)
{
Type = TargetType.Editor;
DefaultBuildSettings = BuildSettingsVersion.V2;
ExtraModuleNames.AddRange( new string[] { "ModuleTest" ,"MyModule"} );//添加Module
}
}
FMyModulePrivatePCH.h可以为空。文章来源:https://www.toymoban.com/news/detail-485394.html
5.关闭UE,在VS中进行编译(不通过的时候多检查出错,并进行清理,重新生成,甚至关闭VS,使用UE项目右键Generate)。文章来源地址https://www.toymoban.com/news/detail-485394.html
到了这里,关于UE4.25 创建自定义模块Module的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!