找回密码
 立即注册
查看: 287|回复: 0

unreal下的多module创建

[复制链接]
发表于 2022-7-19 10:37 | 显示全部楼层 |阅读模式
在默认的情况下,unreal中创建的plugin还是项目中,基本都是只有一个module,但是有时候我们不可能吧什么都放在一个module中!所以就有了对多module的需求
在已有的plugin中, XXX.uplugin文件添加
"Modules": [
    ...
        {
            "Name": "名称",
            "Type": "Editor",
            "LoadingPhase": "Default"
        }
    ]如果是项目工程的话,就在XXXX.uproject中添加以上形式的代码。

  • 创建build.cs
在plugin或者在项目工程的Source目录下,创建和module同名的目录(我这里使用的是MyEditorTools)!



plugin类似!
在该目录下创建{module名称}.Build.cs(MyEditorTools.Build.cs)
内容基本如下,可以自行考虑修改
public class MyEditorTools : ModuleRules
{
    public MyEditorTools(ReadOnlyTargetRules Target) : base(Target)
    {
        PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;

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

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

        // Uncomment if you are using Slate UI
        // PrivateDependencyModuleNames.AddRange(new string[] { "Slate", "SlateCore" });

        // Uncomment if you are using online features
        // PrivateDependencyModuleNames.Add("OnlineSubsystem");

        // To include OnlineSubsystemSteam, add it to the plugins section in your uproject file with the Enabled attribute set to true
    }
}

  • 创建Module的类文件
在Source/{module名称}里创建两个文件

  • {module名称}.h
  • {module名称}.cpp
头文件简单如下
class  FMyEditorTools : public IModuleInterface
{
public:
    virtual void StartupModule() override;
    virtual void ShutdownModule() override;
};
自行更换名称即可
实现的cpp里
#define LOCTEXT_NAMESPACE "FMyEditorTools"

void FMyEditorTools::StartupModule()
{
    IModuleInterface::StartupModule();
}

void FMyEditorTools::ShutdownModule()
{
    IModuleInterface::ShutdownModule();
}
#undef LOCTEXT_NAMESPACE

IMPLEMENT_MODULE(FMyEditorTools, MyEditorTools)
有时候有些人(我自己),为了方便,基本都是从现有的模块中拷贝这几个文件的,然后发现项目工程的Module类文件中只有一句
IMPLEMENT_PRIMARY_GAME_MODULE( FDefaultGameModuleImpl, UnrealGameDemo, "UnrealGameDemo" );
这是ue已经提供的一套入口模板,使用的注册方法不同的,需要注意一下!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-11-15 14:50 , Processed in 0.091237 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表