UE5 打包插件

写一个 .bat,如:

PackPlugin.bat

bash 复制代码
:: 引擎目录
set UEPath=C:/ue/UnrealEngine-5.7.1-release
:: 工程目录
set ProjectPath=D:/A1/Client/A1
:: 输出目录
set OutputDir=D:/A1/Pack/Plugins

"%UEPath%/Engine/Build/BatchFiles/RunUAT.bat"^
 BuildPlugin^
 -Plugin="%ProjectPath%/Plugins/XY/XY_Time/XY_Time.uplugin"^
 -Package="%OutputDir%"/XY_Time^
 -TargetPlatforms=Win64
 -Rocket
 

找到打包出来的插件,删掉 Source 下的 Private 文件夹,就可以了。如示例中的 Private 在 D:\A1\Pack\Plugins\XY_Time\Source\XY_Time\Private。

打开 .Build.cs,添加以下代码。

cs 复制代码
bUsePrecompiled = true;

示例中的 XY_Time.Build.cs 为:

cs 复制代码
// Copyright Epic Games, Inc. All Rights Reserved.

using UnrealBuildTool;

public class XY_Time : ModuleRules
{
	public XY_Time(ReadOnlyTargetRules Target) : base(Target)
	{
		PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs;
		
		PublicIncludePaths.AddRange(
			new string[] {
				// ... add public include paths required here ...
			}
		);
				
		
		PrivateIncludePaths.AddRange(
			new string[] {
				// ... add other private include paths required here ...
			}
		);
			
		
		PublicDependencyModuleNames.AddRange(
			new string[]
			{
				"Core",
				"CoreUObject",
				"Engine"
				// ... add other public dependencies that you statically link with here ...
			}
		);
			
		
		PrivateDependencyModuleNames.AddRange(
			new string[]
			{
				// ... add private dependencies that you statically link with here ...	
			}
		);
		
		
		DynamicallyLoadedModuleNames.AddRange(
			new string[]
			{
				// ... add any modules that your module loads dynamically here ...
			}
		);
		
		bUsePrecompiled = true;
	}
}

这样,插件就打包成功了。

如果插件和别的插件有依赖,将依赖插件打包后放到引擎的 /Engine/Plugins 目录下即可。

相关推荐
zhangzhangkeji3 天前
UE5 C++(71):文件是否存在,文件夹是否存在,FPaths :: FileExists( const FString & InPath) ;
ue5
妙为3 天前
UE5角色穿过石头穿模
ue5·unreal engine5·角色穿越石头·穿模
技术策划Boring4 天前
2025年工作复盘:开放世界3A项目配置管线与性能监控的探索
游戏·ue5·虚幻·p4·perforce
zhangzhangkeji6 天前
UE5 C++(70-2):定义成员函数 getCleanDirectory(..) 和枚举类 EFileDirectoryType,来获得目录
ue5
avi91117 天前
UE4-UE5虚幻引擎-前置学习三,优化,基础CPP
ue5·ue4·游戏开发·虚幻·游戏优化·游戏代码
zhangzhangkeji7 天前
UE5线程进阶(3-2):任务图的相关源码整理。 FGraphEvent 与 TGraphTask 的区别和联系
ue5
zhangzhangkeji8 天前
UE5线程进阶(3-1):
ue5
zhangzhangkeji9 天前
UE5线程进阶(2-3):enum ENamedThreads命名空间 :: Type : int32 { RHIThread = 0 } 是渲染硬件接口线程
ue5
zhangzhangkeji10 天前
UE5线程进阶(2-1):枚举类EAsyncExecution,作业类TAsyncRunnable、TAsyncQueuedWork,及全局线程函数 Async(..),及线程调用的 4 种方法总结
ue5
zhangzhangkeji10 天前
UE5线程进阶(1):
ue5