Type:

Editor:插件只能在编辑器有效

Runtime:代表打包出来也会有插件功能
Developer:开发者模式可以使用插件功能
Program:独立的小程序
ServerOnly:服务端可以使用插件功能
ClientOnly:客户端可以使用插件功能
LoadingPhase:
1、PostConfigInit:引擎初始化之前配置文件初始化之后进行加载
2、PreEarlyLoadingScreen:在coreUObject之前进行加载
3、PreLoadingScreen:在引擎完全被初始化之前进行加载
4、PreDefault:默认模块之前进行加载
5、Default:默认模块进行加载
6、PostDefault:默认模块之后进行加载
7、PostEngineInit:引擎初始化之后进行加载

插件依赖不能依赖Private的内容
如何在C++中使用插件:

Enable设置为true代表已经启动


.Build:做连接操作
.Target:做编译操作
一个插件至少含有一个模块
模块CoreTwo.Build.cs:
// Copyright Epic Games, Inc. All Rights Reserved.using UnrealBuildTool;public class CoreTwo : ModuleRules
{public CoreTwo(ReadOnlyTargetRules Target) : base(Target){PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine"});}
}
主模块.Build.cs:
// Copyright Epic Games, Inc. All Rights Reserved.using UnrealBuildTool;public class MyCTest : ModuleRules
{public MyCTest(ReadOnlyTargetRules Target) : base(Target){PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "Sockets", "Networking", "DesktopPlatform", "Json", "JsonUtilities", "Testor" });}
}
主模块.Target.cs:
// Copyright Epic Games, Inc. All Rights Reserved.using UnrealBuildTool;
using System.Collections.Generic;public class MyCTestTarget : TargetRules
{public MyCTestTarget(TargetInfo Target) : base(Target){Type = TargetType.Game;DefaultBuildSettings = BuildSettingsVersion.V2;ExtraModuleNames.AddRange(new string[] { "MyCTest", "CoreTwo" });}
}
主模块Editor.Target.cs:
// Copyright Epic Games, Inc. All Rights Reserved.using UnrealBuildTool;
using System.Collections.Generic;public class MyCTestEditorTarget : TargetRules
{public MyCTestEditorTarget(TargetInfo Target) : base(Target){Type = TargetType.Editor;DefaultBuildSettings = BuildSettingsVersion.V2;ExtraModuleNames.AddRange(new string[] { "MyCTest", "CoreTwo" });}
}
主模块.uproject:
{"FileVersion": 3,"EngineAssociation": "4.27","Category": "","Description": "","Modules": [{"Name": "MyCTest","Type": "Runtime","LoadingPhase": "Default","AdditionalDependencies": ["Engine","UMGEditor"]},{"Name": "CoreTwo","Type": "Runtime","LoadingPhase": "Default"}],"Plugins": [{"Name": "Testor","Enabled": true}]
}
插件Testor.uplugin:
{"FileVersion": 3,"Version": 1,"VersionName": "1.0","FriendlyName": "Testor","Description": "wangjunli created","Category": "Other","CreatedBy": "WJL","CreatedByURL": "https://blog.csdn.net/qqQQqsadfj?type=blog","DocsURL": "","MarketplaceURL": "","SupportURL": "","CanContainContent": true,"IsBetaVersion": false,"IsExperimentalVersion": false,"Installed": false,"Modules": [{"Name": "Testor","Type": "Runtime","LoadingPhase": "Default"}]
}
总结:
在Build.cs里面包含插件,在Target和Editor.Target内包含模块,在.uproject内包含模块和插件,并使插件设置为使用
上一篇:c语言里%是什么意思
下一篇:带“紫”字的成语有哪些