当前位置: 首页 > news >正文

UE5 移植Editor或Developer模块到Runtime(以运行时弹窗为例)

要将源码中的非运行时模块移植到Runtime下使用,使用了前面的方法后测试发现还是不能在打包后使用,可能是个人水平有限,需要继续努力,于是又尝试了另一种方法,打包后测试成功,这里记录方法,希望能帮助到有相同需求的人。

参照源码中的模块名自己新建一个模块

 新建模块后项目中的...uproject、

{"FileVersion": 3,"EngineAssociation": "{EBFA7FA1-4EAF-5418-B79F-C5B3AA441776}","Category": "","Description": "","Modules": [{"Name": "ACustomOpenWindow","Type": "Runtime","LoadingPhase": "Default","AdditionalDependencies": ["Engine"]},{"Name": "RTDesktopPlatform","Type": "Runtime","LoadingPhase": "Default"}]
}

 ...WindowEditor.Target.cs、 

// Copyright Epic Games, Inc. All Rights Reserved.using UnrealBuildTool;
using System.Collections.Generic;public class ACustomOpenWindowEditorTarget : TargetRules
{public ACustomOpenWindowEditorTarget( TargetInfo Target) : base(Target){Type = TargetType.Editor;DefaultBuildSettings = BuildSettingsVersion.V5;IncludeOrderVersion = EngineIncludeOrderVersion.Unreal5_4;ExtraModuleNames.Add("ACustomOpenWindow");RegisterModulesCreatedByRider();}private void RegisterModulesCreatedByRider(){ExtraModuleNames.AddRange(new string[] { "RTDesktopPlatform" });}
}

...Window.Target.cs内中的变化

// Copyright Epic Games, Inc. All Rights Reserved.using UnrealBuildTool;
using System.Collections.Generic;public class ACustomOpenWindowTarget : TargetRules
{public ACustomOpenWindowTarget(TargetInfo Target) : base(Target){Type = TargetType.Game;DefaultBuildSettings = BuildSettingsVersion.V5;IncludeOrderVersion = EngineIncludeOrderVersion.Unreal5_4;ExtraModuleNames.Add("ACustomOpenWindow");RegisterModulesCreatedByRider();}private void RegisterModulesCreatedByRider(){ExtraModuleNames.AddRange(new string[] { "RTDesktopPlatform" });}
}

自己创建的模块名是RTDesktopPlatform.h、RTDesktopPlatform.cpp,将模块名修改为RTDesktopPlatformModule.h、RTDesktopPlatformModule.cpp,(但是发现类名修改与类内的FRTDesktopPlatformModule名没啥关系,RTDesktopPlatform上加不加Module,在类内都一样)

RTDesktopPlatform.Build.cs中的修改,PrivateIncludePaths.Add("RTDesktopPlatform/Private");的目的是让模块的头文件只限制在当前模块内


http://www.mrgr.cn/news/81180.html

相关文章:

  • Linux——字符设备驱动控制LED
  • http的访问过程或者访问页面会发生什么
  • 数据结构---------二叉树前序遍历中序遍历后序遍历
  • 访谈积鼎科技总经理:国产CFD软件发展与未来趋势展望
  • Oracle安装报错:将配置数据上载到资料档案库时出错
  • Docker环境下MySQL数据库持久化部署全攻略
  • Dapper
  • C++设计模式:组合模式(公司架构案例)
  • 【IC】TSMC先进工艺发展历程--从N5到A16,从A16到未来
  • 某尝准app请求体响应加密分析
  • 多行为级联24|多行为推荐的超图增强级联图卷积网络
  • HashMap源码深度解析
  • CentOS HTTPS自签证书访问失败问题的排查与解决全流程
  • SpringCloud 运用(2)—— 跨服务调度
  • 访谈积鼎科技总经理:国产CFD软件发展与未来趋势展望
  • GitCode 光引计划投稿|JavaVision:引领全能视觉智能识别新纪元
  • Centos7安装k8s集群
  • node.js的异步工作之---回调函数与回调地狱
  • Pandas系列|第三期:Pandas中访问数据
  • 2024年A股最新退市规则
  • linux上抓包RoCEv2
  • Day1 苍穹外卖前端 Vue基础、Vue基本使用方式、Vue-router、Vuex、TypeScript
  • 【学术小白的学习之路】基于情感词典的中文句子情感分析(代码词典获取在结尾)
  • FPGA学习(基于小梅哥Xilinx FPGA)学习笔记
  • YoloV8改进策略:Head改进|DynamicHead,利用注意力机制统一目标检测头部|即插即用
  • sqlite 自定以脚本解释器