[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);}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/903752.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

正点原子STM32H743单片机实现ADC多通道检测

目标 使用STM32CubeMX工具,配置ADC相关参数,实现在STM32H743单片机上获取ADC多通道电压值。共14个ADC引脚,ADC2有5个,ADC3有9个,全部设置单通道 ADC引脚 PF3PF4PF5PF10PC0PC2PC3PH2PH3PA3PB0PB1PA4PA5PA6 STM32cube…

深度学习基础(四)——计算量(FLOPs)、参数量(Params)、计算速度(FLOPS/TOPS))

一、计算量FLOPs FLOPs,全称为Floating Point Operations, (s为复数缩写),浮点运算数,指模型完成一次前向传播所需的浮点运算次数,可以理解为计算量(模型的时间复杂度),用来衡量算法…

电子秤检测管理系统开发实战:从数据采集到可视化大屏

简介 电子秤作为现代工业生产和商业流通中的核心计量设备,其准确性直接关系到产品质量和交易公平。针对仙贝生产企业的电子秤管理需求,我们开发了一套集电子秤检测信息录入、产品信息管理、实时称重数据采集和后台可视化大屏于一体的综合管理系统。该系统基于Django框架构建…

Cesium添加WMS,WMTS,地形图图,3D Tiles数据

在 Cesium 中,你可以添加 WMS、WMTS、地形图 和 3D Tiles 数据源。以下是详细的实现方法: 1. 添加 WMS 服务 WMS(Web Map Service)是一种动态地图服务,适用于加载栅格地图图层。 代码示例 const viewer new Cesium…

数据库基本概念:数据库的定义、特点、分类、组成、作用

一:数据库相关概念 1.1 定义 (1)数据库:存储数据的仓库 (2)数据库管理系统:模拟和管理数据库的大型软件 (3)SQL:操作关系型数据库的编程语言,定义…

【项目篇之消息序列化】仿照RabbitMQ模拟实现消息队列

实现消息序列化 为什么不使用JSON来序列化直接使用二进制序列化实现序列化方法toBytes()1: 创建内存缓冲区​​2 :创建对象序列化通道​3:执行序列化操作​4:提取二进制数据,转换成byte[]序列化图示流程:序…

单片机-89C51部分:13、看门狗

飞书文档https://x509p6c8to.feishu.cn/wiki/LefkwDPU7iUUWBkfKE9cGLvonSh 一、作用 程序发生死循环的时候(跑飞),能够自动复位。 启动看门狗计数器->计数器计数->指定时间内不对计数器赋值(主程序跑飞,无法喂…

C++23/26 静态反射机制深度解析:编译时元编程的新纪元

目录 引言 一、C静态反射的核心特性 1. 编译时元数据获取 2. 元信息操作的语法革新 3. 与现有特性的深度融合 二、应用场景:从理论到实践 1. 序列化与反序列化 2. 领域特定语言(DSL)与代码生成 3. 动态插件系统 4. 调试与元编程增强…

RISCV学习(5)GD32VF103 MCU架构了解

RISCV学习(5)GD32VF103 MCU架构了解 1、芯片内核功能简介 GD32VF103 MCU架构,采用Bumblebee内核,芯来科技(Nuclei System Technology)与台湾晶心科技(Andes Technology)联合开发&am…

【Java学习笔记】递归

递归(recursion) 思想:把一个复杂的问题拆分成一个简单问题和子问题,子问题又是更小规模的复杂问题,循环往复 本质:栈的使用 递归的注意事项 (1)需要有递归出口,否者就…

渗透测试中的那些“水洞”:分析与防御

1. Nginx 版本泄露 风险分析: Nginx 默认会在响应头中返回 Server: nginx/x.x.x,攻击者可利用该信息匹配已知漏洞进行攻击。 防御措施: 修改 nginx.conf 配置文件,隐藏版本信息:server_tokens off;使用 WAF 进行信息…

基于C#开发的适合Windows开源文件管理器

使用DDD从零构建一个完整的系统 推荐一个功能强大且直观的开源文件管理器,适用于Windows平台。 01 项目简介 该项目是一个基于C#开发、开源的文件管理器,适用于Windows,界面UI美观、方便轻松浏览文件。此外,支持创建和提取压缩…

实习入职的总结

我是4月14号入职的,到现在差不多已经三个礼拜了,今天想总结一下这段时间的工作情况,并给学弟学妹们提供一些指引。 目前,我所在的公司是一家初创企业,专注于IPC安防领域。作为一名大专生,我深知自己的学历在…

Ubuntu 系统上部署 Kubernetes 的完整指南

Ubuntu 系统上部署 Kubernetes 的完整指南 一、环境准备(Ubuntu 22.04/24.04)1. 系统初始化2. 安装容器运行时(containerd)3. 安装 Kubernetes 组件(kubeadm, kubelet, kubectl) 二、部署 Kubernetes 集群1…

partition_pdf 和chunk_by_title 的区别

from unstructured.partition.pdf import partition_pdf from unstructured.chunking.title import chunk_by_titlepartition_pdf 和 chunk_by_title 初看有点像,都在"分块",但是它们的本质完全不一样。 先看它们核心区别 partition_pdfchun…

基于深度学习的医疗诊断辅助系统设计

标题:基于深度学习的医疗诊断辅助系统设计 内容:1.摘要 随着医疗数据的爆炸式增长和深度学习技术的飞速发展,开发基于深度学习的医疗诊断辅助系统具有重要的现实意义。本研究的目的在于设计一个高效、准确的医疗诊断辅助系统,以辅助医生进行更精准的诊断…

Matlab/Simulink - BLDC直流无刷电机仿真基础教程(四) - PWM调制模拟

Matlab/Simulink - BLDC直流无刷电机仿真基础教程(四) - PWM调制模拟 前言一、PWM调制技术基本原理二、仿真模型中加入PWM调制三、逆变电路MOS管添加体二极管四、模拟添加机械负载五、仿真模型与控制框图文章相关模型文件下载链接参考链接 前言 本系列文…

Curl 全面使用指南

Curl(Client URL)是一个跨平台命令行工具,支持多种协议(HTTP/HTTPS/FTP/SFTP等),用于数据传输、API调试、文件上传/下载等场景。以下从 核心功能、用户疑问解答、高级技巧 三方面系统总结,并整合…

PyTorch中“原地”赋值的思考

在开发一个PyTorch模块时,遇到了一个诡异的现象,将他描述出来就是下面这样: f[..., :p_index - 1] f[..., 1:p_index] 这个操作将f张量的部分数值进行左移,我在模型训练的时候还能正常跑,但是当我将模型部署到项目中…

什么是:云边端一体化架构

什么是云边端一体化架构 文章目录 什么是云边端一体化架构云、边、端云计算边缘计算终端设备 云边端一体化协同云边端一体化架构协同的流程云边端一体化架构协同的应用云边端一体化架构协同的价值云边端一体化架构协同未来发展趋势 云、边、端 云(Cloud&#xff09…