关于UE跨平台插件的使用方法

已知除Epic平台获取的插件,其他途径获取的UE插件默认普遍为Win64版本
是没有办法直接在除Win64平台直接使用的(如Mac)
本文将使用官方工具编译mac
官方给了方法

  1. 找到引擎路径 例如(\UE_5.3\Engine\Build\BatchFiles)文件夹下
  2. 有一个RunUAT.xxxx(每个后缀不同如Win10的是 RunUAT.bat Mac的是command)
  3. 执行命令
UE_5.3/Engine/Build/BatchFiles/RunUAT.XXXXX BuildPlugin -Plugin="PathToYourPrePlugin.uplugin"  -Package="PathToYourPrePlugin"
  • Plugin为插件的.uplugin文件位置
  • Package为目标文件夹

    在 .uplugin 文件可以右键以文本或其他方式打开

    "PlatformAllowList": [
      "Win64",
      "Mac",
      "Linux",
      "Android",
      "IOS"
    ]

    正常会有上述的其中几个或者其他几个
    如果你当前电脑没有环境如(Android)那么可能会打包失败。
    在编译报错时请仔细阅读报错信息
    可以将不需要的平台进行删除

  • 打包之前建议检查插件 没有特殊情况 插件文件夹只需要一个.uplugin文件和Source文件夹
  • 正常情况下编译完成之后即可正常使用

执行 RunUAT.XXXXX -help后

-Verbose: 启用详细日志记录
-VeryVerbose: 启用非常详细的日志记录
-Submit: 允许 UAT 命令提交更改
-NoSubmit: 阻止任何提交尝试
-NoP4: 禁用 Perforce 功能(如果不在构建机器上运行,则为默认值)
-P4: 启用 Perforce 功能(如果在构建机器上运行,则为默认值)
-Help: 显示帮助信息
-List: 列出所有可用命令
-NoKill: 在退出时不终止任何衍生进程
-Compile: 强制编译所有脚本模块
-NoCompile: 不尝试编译任何脚本模块 - 尝试使用已更新的模块运行
-IgnoreBuildRecords: 在确定脚本模块是否已更新时,忽略构建记录文件(Intermediate/ScriptModule/ProjectName.json)
-UseLocalBuildStorage: 允许您使用本地存储作为根构建存储目录的选项(在 PC 上默认为 P:\Builds,更改为 Engine\Saved\LocalBuilds)。用于本地测试。
-WaitForDebugger: 等待调试器附加,并在调试器成功附加后中断。

RunUAT.XXXXX -List 命令的局部翻译

AutomationScripts.Automation:

AnalyzeThirdPartyLibs: 分析第三方库
BenchmarkBuild: 基准构建
BenchmarkOptions: 基准选项
BuildCMakeLib: 构建CMake库
BuildCommonTools: 构建通用工具
BuildCookRun: 构建、烹饪、运行
BuildDerivedDataCache: 构建派生数据缓存
BuildEditor: 构建编辑器
BuildGame: 构建游戏
BuildHlslcc: 构建Hlslcc
BuildPhysX: 构建PhysX

  • BuildPlugin: 构建插件 (本文章使用的命令)

BuildServer: 构建服务器
BuildTarget: 构建目标
BuildThirdPartyLibs: 构建第三方库
CheckBalancedMacros: 检查平衡的宏
CheckCsprojDotNetVersion: 检查 Csproj .NET 版本
CheckForHacks: 检查是否有黑客攻击
CheckPerforceCase: 检查 Perforce 大小写
CheckRestrictedFolders: 检查受限制的文件夹
CheckTargetExists: 检查目标是否存在
CheckXcodeVersion: 检查 Xcode 版本
CleanAutomationReports: 清理自动化报告
CleanFormalBuilds: 清理正式构建
CopySharedCookedBuild: 复制共享烹饪构建
CreateComponentZips: 创建组件压缩包
CreatePlatformExtension: 创建平台扩展
CryptoKeys: 加密密钥
DownloadJupiterBuild: 下载 Jupiter 构建
ExportMcpTemplates: 导出 MCP 模板
ExtractPaks: 提取 Paks
FinalizeInstalledBuild: 完成安装的构建
FixPerforceCase: 修复 Perforce 大小写
FixupRedirects: 修复重定向
GenerateDSYM: 生成DSYM
GeneratePlatformReport: 生成平台报告
IPhonePackager: iPhone 打包
ListMobileDevices: 列出移动设备
ListThirdPartySoftware: 列出第三方软件
Localise: 本地化
Localize: 本地化
MegaXGE: 大型 XGE
MemreportHelper:内存报告助手
MultiShelve: 多层架构
OpenEditor: 打开编辑器
ParseMsvcTimingInfo: 解析 MSVC 时间信息
RebuildHLOD: 重建 HLOD
RebuildLightMaps: 重建光照图
RecordPerformance: 记录性能
RehydrateProject: 重新注入项目
ReplaceAssetsUsingManifest: 使用清单替换资产
ResavePackages: 重新保存包
SetSecondaryRemoteMac: 设置次要远程 Mac
StashTarget: 储藏目标
SyncBinariesFromUGS: 从 UGS 同步二进制文件
SyncDDC: 同步 DDC
SyncDepotPath: 同步 Depot 路径
SyncPerforceServers: 同步 Perforce 服务器
SyncProject: 同步项目
UnrealBuildUtilDummyBuildCommand: Unreal 构建工具虚拟构建命令
UnstashTarget: 取回储藏目标
UpdateLocalVersion: 更新本地版本
UploadDDCToAWS: 将 DDC 上传到 AWS
VirtualizeProject: 虚拟化项目
WorldPartitionBuilder: 世界分区构建器
WrangleContentForDebugging: 调试内容整理
ZipProjectUp: 压缩项目
ZipUtils: 压缩工具

AutomationUtils.Automation:

CopyUAT: 复制 UAT
P4WriteConfig: 写入 P4 配置

BuildGraph.Automation:

Build: 构建
BuildGraph: 构建图
CleanTempStorage: 清理临时存储
TempStorageTests: 临时存储测试
CookedEditor.Automation:

MakeCookedEditor: 制作烹饪编辑器

Gauntlet.Automation:

CleanDevices: 清理设备
FetchUnrealAutomationTelemetry: 获取 Unreal 自动化遥测
InstallUnrealBuild: 安装 Unreal 构建
PublishUnrealAutomationTelemetry: 发布 Unreal 自动化遥测
RunEditorTests: 运行编辑器测试
RunUnreal: 运行 Unreal
RunUnrealTests: 运行 Unreal 测试
TestGauntlet: 测试 Gauntlet
IOS.Automation:

ExportIPAFromArchive: 从归档中导出 IPA
MakeIPA: 制作 IPA
WriteIniValueToPlist: 将 Ini 值写入 Plist

LowLevelTests.Automation:

RunLowLevelTests: 运行低级测试
UpdateGraphsLowLevelTests: 更新图形低级测试

Turnkey.Automation:

Turnkey: 一站式

最后修改:2025 年 01 月 21 日
如果觉得我的文章对你有用,请随意赞赏