UE4->Plugin 认识UE4插件 1

2024-06-16 02:48
文章标签 ue4 认识 插件 plugin

本文主要是介绍UE4->Plugin 认识UE4插件 1,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

原创文章,转载请注明出处。

本文带大家认识UE4的插件, Plugin

UE4 Engine中插件代码占很大一部分,可参考下图,里面的Editor, Developer, Runtime, Slate举例都是大家比较熟悉的几个
在这里插入图片描述
1>看下图的中Json,其实就是我们的.plugin文件

{"FileVersion": 3,	//文件版本"Version": 1,		//Plugin版本"VersionName": "1.0",	//版本名称"FriendlyName": "Taskp",	//插件名称"Description": "tianhuajian created",	//插件描述"Category": "Other",			//插件所属组"CreatedBy": "tianhuajian",		//插件创建者"CreatedByURL": "",				//创建者网站"DocsURL": "",					//插件的文档URL"MarketplaceURL": "",			//虚幻商城URL"SupportURL": "",				//技术支持URL"CanContainContent": true,		//是否可包含Content"IsBetaVersion": false,			//是否是测试版"IsExperimentalVersion": false,	//是否是实验性的版本, UE4插件中会有显示"Installed": false,				//是否安装的"Modules": [					//可包含多个模块{"Name": "TestPlg",		//重要:模块名称"Type": "Runtime",		//重要:模块的类型->下面再介绍"LoadingPhase": "Default"		//重要:加载阶段->下面再介绍}]
}

2>Modules->Type(类型)介绍
代码中搜索 EHostType, 转到定义, ModuleDescriptor.h,对应上面Type 的枚举其实就在这个文件中。在这里插入图片描述

/*** Environment that can load a module.*/
namespace EHostType
{enum Type{// Loads on all targets, except programs.Runtime,	//Runtime模式下会去加载// Loads on all targets, except programs and the editor running commandlets.RuntimeNoCommandlet,	//Runtime模式, 不包含命令// Loads on all targets, including supported programs.RuntimeAndProgram,		//Runtime模式, 小程序// Loads only in cooked games.CookedOnly,		//和Cook资源相关// Only loads in uncooked games.UncookedOnly, //只在没有cook过的程序中加载// Deprecated due to ambiguities. Only loads in editor and program targets, but loads in any editor mode (eg. -game, -server).// Use UncookedOnly for the same behavior (eg. for editor blueprint nodes needed in uncooked games), or DeveloperTool for modules// that can also be loaded in cooked games but should not be shipped (eg. debugging utilities).Developer,	//开发模式下加载,兼容老版本留下来的枚举// Loads on any targets where bBuildDeveloperTools is enabled.DeveloperTool,	//开发模式下加载 新的枚举// Loads only when the editor is starting up.Editor,		//Editor模块// Loads only when the editor is starting up, but not in commandlet mode.EditorNoCommandlet,	//Editor非命令行加载// Loads only on editor and program targetsEditorAndProgram,	//Editor小程序// Only loads on program targets.Program,	//独立程序// Loads on all targets except dedicated clients.ServerOnly,		//服务端模块// Loads on all targets except dedicated servers.ClientOnly,		//客户端模块// Loads in editor and client but not in commandlets.ClientOnlyNoCommandlet,		//客户端没有命令行的模块//~ NOTE: If you add a new value, make sure to update the ToString() method below!Max	//如果新加枚举的话 别忘了把这个Namespace中的tostring方法完善一下};

3>Modules->LoadingPhase(加载阶段)介绍
代码中搜索 ELoadingPhase, 转到定义, ModuleDescriptor.h,对应上面LoadingPhase 的枚举其实就在这个文件中。

namespace ELoadingPhase
{enum Type{/** As soon as possible - in other words, uplugin files are loadable from a pak file (as well as right after PlatformFile is set up in case pak files aren't used) Used for plugins needed to read files (compression formats, etc) */EarliestPossible,/** Loaded before the engine is fully initialized, immediately after the config system has been initialized.  Necessary only for very low-level hooks */PostConfigInit,/** The first screen to be rendered after system splash screen */PostSplashScreen,/** Loaded before coreUObject for setting up manual loading screens, used for our chunk patching system */PreEarlyLoadingScreen,/** Loaded before the engine is fully initialized for modules that need to hook into the loading screen before it triggers */PreLoadingScreen,/** Right before the default phase */PreDefault,/** Loaded at the default loading point during startup (during engine init, after game modules are loaded.) */Default,/** Right after the default phase */PostDefault,/** After the engine has been initialized */PostEngineInit,/** Do not automatically load this module */None,// NOTE: If you add a new value, make sure to update the ToString() method below!Max};

这篇关于UE4->Plugin 认识UE4插件 1的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1065292

相关文章

IDEA常用插件之代码扫描SonarLint详解

《IDEA常用插件之代码扫描SonarLint详解》SonarLint是一款用于代码扫描的插件,可以帮助查找隐藏的bug,下载并安装插件后,右键点击项目并选择“Analyze”、“Analyzewit... 目录SonajavascriptrLint 查找隐藏的bug下载安装插件扫描代码查看结果总结Sona

Java架构师知识体认识

源码分析 常用设计模式 Proxy代理模式Factory工厂模式Singleton单例模式Delegate委派模式Strategy策略模式Prototype原型模式Template模板模式 Spring5 beans 接口实例化代理Bean操作 Context Ioc容器设计原理及高级特性Aop设计原理Factorybean与Beanfactory Transaction 声明式事物

每天认识几个maven依赖(ActiveMQ+activemq-jaxb+activesoap+activespace+adarwin)

八、ActiveMQ 1、是什么? ActiveMQ 是一个开源的消息中间件(Message Broker),由 Apache 软件基金会开发和维护。它实现了 Java 消息服务(Java Message Service, JMS)规范,并支持多种消息传递协议,包括 AMQP、MQTT 和 OpenWire 等。 2、有什么用? 可靠性:ActiveMQ 提供了消息持久性和事务支持,确保消

认识、理解、分类——acm之搜索

普通搜索方法有两种:1、广度优先搜索;2、深度优先搜索; 更多搜索方法: 3、双向广度优先搜索; 4、启发式搜索(包括A*算法等); 搜索通常会用到的知识点:状态压缩(位压缩,利用hash思想压缩)。

Maven(插件配置和生命周期的绑定)

1.这篇文章很好,介绍的maven插件的。 2.maven的source插件为例,可以把源代码打成包。 Goals Overview就可以查看该插件下面所有的目标。 这里我们要使用的是source:jar-no-fork。 3.查看source插件的example,然后配置到riil-collect.xml中。  <build>   <plugins>    <pl

jenkins 插件执行shell命令时,提示“Command not found”处理方法

首先提示找不到“Command not found,可能我们第一反应是查看目标机器是否已支持该命令,不过如果相信能找到这里来的朋友估计遇到的跟我一样,其实目标机器是没有问题的通过一些远程工具执行shell命令是可以执行。奇怪的就是通过jenkinsSSH插件无法执行,经一番折腾各种搜索发现是jenkins没有加载/etc/profile导致。 【解决办法】: 需要在jenkins调用shell脚

Jenkins 插件 地址证书报错问题解决思路

问题提示摘要: SunCertPathBuilderException: unable to find valid certification path to requested target...... 网上很多的解决方式是更新站点的地址,我这里修改了一个日本的地址(清华镜像也好),其实发现是解决不了上述的报错问题的,其实,最终拉去插件的时候,会提示证书的问题,几经周折找到了其中一遍博文

eclipse安装subversion(SVN)版本控制插件

陈科肇 查看插件更新站点 网址:http://subclipse.tigris.org/servlets/ProjectProcess?pageID=p4wYuA 网站截图: 根据自己的eclipse版本,选择需要的更新站点. 使用eclipse集成subservion插件 Help > Install New Software…> 等待下载安装插件…

Weex入门教程之2,Android Studio安装Weex插件

插件位置及描述 https://plugins.jetbrains.com/idea/plugin/8460-weex 貌似对windows还不是很支持,先放着吧。 安装 插件功能 先预览下都有什么功能 安装完成Weex插件后,如果在main toolbar找不到这些功能图标,那么就需要手动添加到main toolbar 添加到main toolbar 红框内就是

mybatis框架基础以及自定义插件开发

文章目录 框架概览框架预览MyBatis框架的核心组件MyBatis框架的工作原理MyBatis框架的配置MyBatis框架的最佳实践 自定义插件开发1. 添加依赖2. 创建插件类3. 配置插件4. 启动类中注册插件5. 测试插件 参考文献 框架概览 MyBatis是一个优秀的持久层框架,它支持自定义SQL、存储过程以及高级映射,为开发者提供了极大的灵活性和便利性。以下是关于M