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

[Unity]设置自动打包脚本

背景 我们经常会使用自动打包功能

文件名称:

AutoBuild.cs
using System.IO;
using System.Linq;
using UnityEditor;
using UnityEngine;public class AutoBuilder
{[MenuItem("Build/GetCurrentBuildTarget")]public static void GetCurrentBuildTarget(){Debug.Log($"当前平台为:{EditorUserBuildSettings.activeBuildTarget}");Debug.Log($"当前平台组为:{BuildPipeline.GetBuildTargetGroup(EditorUserBuildSettings.activeBuildTarget)}");}[MenuItem("Build/Build")]public static void Build(){BuildTarget currentTarget = EditorUserBuildSettings.activeBuildTarget;BuildTargetGroup currentGroup = BuildPipeline.GetBuildTargetGroup(currentTarget);BuildTarget buildTarget = BuildTarget.StandaloneWindows64;BuildTargetGroup buildTargetGroup = BuildTargetGroup.Standalone;Debug.Log($"当前平台:  {currentTarget}");if (currentTarget != buildTarget){Debug.Log($"检测到非 {buildTarget} 平台,正在切换...");bool success = EditorUserBuildSettings.SwitchActiveBuildTarget(buildTargetGroup,buildTarget);if (success){Debug.Log($"切换至 {buildTarget} 平台成功");// 可选:保存工程设置(非必须)AssetDatabase.SaveAssets();}else{Debug.LogError($"切换失败!请检查 {buildTarget} 模块是否已安装");}}else{Debug.Log($"当前已是 {buildTarget} 平台,无需切换");}// 获取场景设置中的所有场景string[] scenes = EditorBuildSettings.scenes.Where(scene => scene.enabled) // 过滤出被启用的场景.Select(scene => scene.path) // 获取场景路径.ToArray();string projectPath = Directory.GetParent(Application.dataPath).FullName;Debug.Log("Project Path: " + projectPath);string outputpath =buildTargetGroup == BuildTargetGroup.Standalone? Path.Combine(projectPath,buildTargetGroup.ToString(),EditorUserBuildSettings.activeBuildTarget.ToString()): Path.Combine(projectPath, EditorUserBuildSettings.activeBuildTarget.ToString());Debug.Log("Output Path: " + outputpath);// 执行构建BuildPipeline.BuildPlayer(scenes, outputpath, buildTarget, BuildOptions.None);}
}

相关文章:

  • [Survey] Image Segmentation in Foundation Model Era: A Survey
  • VBA代码解决方案第二十四讲:EXCEL中,如何删除重复数据行
  • 2025深圳杯东三省数学建模竞赛选题建议+初步分析
  • hadoop伪分布式模式
  • MySQL RR (Repeatable Read) 隔离级别规则细节
  • B/S架构:定义、原理及其在软件测试中的应用
  • 软考中级-软件设计师 数据结构(手写笔记)
  • 基于静态局部立方体贴图的高效软阴影
  • 【效率提升】Vibe Coding时代如何正确使用输入法:自定义短语实现Prompt快捷输入
  • UE 材质 条纹循环发光
  • 【Token系列】14|Prompt不是文本,是token结构工程
  • 2025年“深圳杯”数学建模挑战赛B题-LED显示屏颜色转换设计与校正
  • 构建网页版IPFS去中心化网盘
  • PostgreSQL 中 VACUUM FULL 对索引的影响
  • VMware Workstation 创建虚拟机并安装 Ubuntu 系统 的详细步骤指南
  • uniapp 实现时分秒 分别倒计时
  • 从零开始学Python游戏编程48-二维数组2
  • git did not exit cleanly (exit code 128) 已解决
  • 【uniapp】在UniApp中检测手机是否安装了某个应用
  • Canvas基础篇:图形绘制
  • 体坛联播|欧冠巴萨3比3战平国米,柯洁未进入国家集训队
  • 韩国检方结束对尹锡悦私宅的扣押搜查
  • 孙磊已任中国常驻联合国副代表、特命全权大使
  • 新质观察|重塑低空经济的系统安全观
  • 报告显示2024年全球军费开支增幅达冷战后最大
  • 国家发展改革委:我们对实现今年经济社会发展目标任务充满信心