Unity | Script Hot Reload
官网地址:https://hotreload.net/
一、作用
Unity在运行时,可以直接修改代码,避免等待过长的编译时间。
二、说明
1、支持的平台?
Windows、MacOS、Linux
2、支持的Unity版本?
- 2018.4 (LTS)
- 2019.4 (LTS)
- 2020.3 (LTS)
- 2021.3 (LTS)
- 2022.1
- 2022.2
- 2023.1 (alpha)
3、支持的特性?
- 编辑单一行为、普通类或静态类中的函数
您可以使用任何有效的 C# 方式编辑函数的主体。我们重新编译整个函数,因此它的工作方式与您已经习惯的一样。 - 编辑 lambda 方法
如果您修改 lambda,我们会热重新加载现有的 lambda。因此,例如,在启动期间将 lambda 存储在静态字段中,然后在不运行启动代码的情况下编辑 lambda,您对 lambda 的更改仍将立即应用。 - 使用闭包编辑 lambda 方法
如果您在 lambda 中使用外部变量,您的 lambda 将照常工作。如果你使用一个新的外部变量,那么只有当你再次创建它时,你的 lambda 才会被热重载。例如,每次运行代码时都会重新创建 Array.Sort(() => …) 中的 lambda,因此它将始终按预期工作。 - 编辑异步/等待方法
- 编辑属性(获取/设置)
- 编辑事件(添加/删除)
- 编辑索引器(方括号访问,如字典)
- 编辑运算符方法(显式和隐式运算符)
- 编辑转换运算符方法,例如“==”和“+=”
- 添加/编辑/删除类和结构的构造函数
- 添加/编辑/删除局部函数
- 将方法从异步更改为同步,或从同步更改为异步
- 删除任何方法、属性、字段、类
- 添加/编辑/删除“使用”指令。例如“使用 UnityEngine”
- 添加/编辑变量初始值设定项。例如类中的’private int x = 1’
例如“int myField = 10”。请注意,只有在创建新类实例时才会初始化变量。我们不会为已经实例化的类重新运行变量初始值设定项,因为它可能会破坏现有代码。 - 使用更新的 C# 语法。switch 表达式、using 语句、模式匹配、null 合并语句等。默认情况下,我们支持 C# 编译器支持的所有语法。
- 添加/删除属性。请注意,您的代码可以编译,但 System.Reflection 不会接受属性更改。
- 在任何地方使用 nullable
- 添加新方法
- 添加、编辑、删除方法中的参数
- 更改任何方法的返回类型。包括实例、静态、属性、事件、索引器、泛型等。
- 更改可访问性,例如将方法从“私有”更改为“公共”
- 静态关键字更改,例如使方法静态
- 重命名方法
- 像普通方法一样编辑泛型方法
- 添加/编辑/删除通用参数
- 添加/编辑/删除泛型方法的约束子句(例如’where T : class, new()')
- 在参数上添加/替换/删除“ref”、“out”、“in”修饰符
ps:真的挺强了,基本能够满足日常开发所需
4、路线图?
- 添加、编辑、删除字段
- 添加新类/结构
- 添加/编辑枚举
- 编辑泛型类方法
- 编辑部分类型的变量初始值设定项
- 编辑返回类型为“dynamic”的方法,或使用“dynamic”的参数之一
- 编辑具有匿名类型的方法体
- 添加或删除以下方法关键字之一:partial、abstract、virtual、override、extern
- 删除类的构造函数不会删除构造函数逻辑。作为解决方法,考虑保留一个空的构造函数而不是将其删除,并可能在下一次完全重 新编译时删除该构造函数。
- 已经执行的异步方法没有被修补——只有新的调用才会使用更新后的逻辑
- 支持编辑由 Unity Multiplayer hl-api、Photon、Bolt、Mirror 等库动态生成的代码
- 支持使用 [BurstCompile] 编辑代码(如果注释掉该属性,Hot Reload 将按预期工作)
- 添加 C# 文件
5、必须要完全编译?
- 添加、修改、删除 .asmdef 文件。请注意,如您所料,程序集定义中的脚本是受支持的,只有对 .asmdef 文件本身的修改需要完全重新编译
- 修改 .csproj 或 .sln 文件中的定义符号或其他内容
三、参考
https://docs.unity3d.com/cn/2021.1/Manual/ConfigurableEnterPlayMode.html

相关文章:
Unity | Script Hot Reload
官网地址:https://hotreload.net/ 一、作用 Unity在运行时,可以直接修改代码,避免等待过长的编译时间。 二、说明 1、支持的平台? Windows、MacOS、Linux 2、支持的Unity版本? 2018.4 (LTS)2019.4 (LTS)2020.3 (L…...
3|射频识别技术|第五讲:数据通信和编码技术|第九章:编码与调制|重点理解掌握传输介质中的有线传输介质
计算机网络部分:https://blog.csdn.net/m0_57656758/article/details/128943949传输介质分为有线传输介质和无线传输介质两大类;有线传输介质通常包含双绞线、同轴电缆和光导纤维;无线传输介质包含微波、红外线等。传输介质的选择和连接是网络…...
【遇见青山】基于Redis的Feed流实现案例
【遇见青山】基于Redis的Feed流实现案例1.关注推送2.具体代码实现1.关注推送 关注推送也叫做Feed流,直译为投喂。为用户持续的提供"沉浸式”的体验,通过无限下拉刷新获取新的信息。 Feed流产品有两种常见模式: 这里我们实现基本的TimeL…...
【芯片前端】一文搞定|寄存器组织生成与uvm ral_model环境全流程
前言 本文以组织一个系统(或模块)寄存器为例,进行寄存器与ral生成相关的全流程展示。内容包括如下几个部分: 寄存器文档组织 描述文件与辅助RTL代码结构 ralf/ral/rtl文件代码结构 UVM RAL访问环境组织 寄存器文档组织 在windows路径下组织寄存器文档,格式为excel表格。…...
Leetcode力扣秋招刷题路-0061
从0开始的秋招刷题路,记录下所刷每道题的题解,帮助自己回顾总结 61. 旋转链表 给你一个链表的头节点 head ,旋转链表,将链表每个节点向右移动 k 个位置。 示例 1: 输入:head [1,2,3,4,5], k 2 输出&…...
xilinx srio ip学习笔记之axistream接口
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 xilinx srio ip学习笔记之axistream接口前言接口转化前言 srio 的IQ接口都是基于axistream的,以前没怎么用过axistream的接口,或者说没怎么用过复杂条…...
轨迹误差评估指标[APE/RPE]和EVO
轨迹误差评估指标[APE/RPE]和EVO1. ATE/APE2. RPE3. EVO3.1 评估指标3.2 使用3.2.1 轨迹可视化3.2.2 APE3.2.3 RPEReference: 高翔,张涛 《视觉SLAM十四讲》视觉SLAM基础:算法精度评价指标(ATE、RPE) 在实际工程中,我…...
uni-app 消息推送功能UniPush
uni-app 消息推送功能UniPush,这里用的是uni-app自带的UniPush1.0(个推服务),所以只针对UniPush1.0介绍实现步骤。 建议查阅的文章: UniPush 1.0 使用指南[2] Unipush 常见问题[3] 当然现在已经出了UniPush2.0(HBuilde…...
面试题(二十六)场景应用
1. 场景应用 1.1 微信红包相关问题 参考答案 概况:2014年微信红包使用数据库硬抗整个流量,2015年使用cache抗流量。 微信的金额什么时候算? 微信红包的金额是拆的时候实时算出来,不是预先分配的,采用的是纯内存计…...
密码技术在车联网安全中的应用与挑战
随着智慧交通和无人驾驶的快速发展,车联网产业呈现蓬勃发展态势,车与云、车与车、车与路、车与人等综合网络链接的融合程度越来越高,随之而来的安全挑战也更加严峻。解决车联网的安全问题需要一个整体的防护体系,而密码技术凭借技…...
富媒体数据管理解决方案:简化、优化、自动化
富媒体数据管理解决方案:简化、优化、自动化 适用于富媒体的 NetApp 解决方案有助于简化和降低数据管理成本,优化全球媒体工作流并自动执行媒体资产管理。这将有助于减轻您的负担。 为什么选择 NetApp 的富媒体数据管理解决方案? 成本更低…...
QT入门Input Widgets之QFontComboBox、QTextEdit、QPlainTextEdit、QDial、QKeySequenceEdit
目录 一、QFontComboBox的相关介绍 1、实际使用 二、QTextEdit与QPlainTextEdit 三、QDial的相关介绍 四、QKeySequenceEdit的相关介绍 此文为作者原创,创作不易,转载请标明出处! 一、QFontComboBox的相关介绍 1、实际使用 一般使用较…...
Java企业级开发学习笔记
文章目录一、Spring1.1、Slay Dragon1.2、RescueDamselQuest一、Spring 第一周写了两个小项目均使用了原始调用和容器的方法 两个项目:<斩杀大龙与上路保卫战> 配一张文件位置图 1.1、Slay Dragon BraveKnight package net.sherry.spring.day01;public c…...
【算法基础】(一)基础算法 ---高精度
✨个人主页:bit me ✨当前专栏:算法基础 🔥专栏简介:该专栏主要更新一些基础算法题,有参加蓝桥杯等算法题竞赛或者正在刷题的铁汁们可以关注一下,互相监督打卡学习 🌹 🌹 dz…...
电源口防雷器电路设计方案
电源口防雷电路的设计需要注意的因素较多,有如下几方面:1、防雷电路的设计应满足规定的防护等级要求,且防雷电路的残压水平应能够保护后级电路免受损坏。2、在遇到雷电暂态过电压作用时,保护装置应具有足够快的动作响应速度&#…...
【零基础入门前端系列】—表单(七)
【零基础入门前端系列】—表单(七) 一、什么是表单 表单在Web网页中用来给访问者填写信息,从而采集客户信息端,使得网页具有交互功能。一般是将表单设计在一个HTML文档中,当用户填写完信息后做提交操作,于…...
Linux安装python3
Linux安装python3一.介绍二.下载三.配置1.文件夹2.安装依赖3.安装4.配置4.1python关系4.2配置测试-映射python3文件4.2.1 不用设置默认python3为默认版本4.2.2 将python3设置默认版本一.介绍 因为我的Centos7虚拟机里面只有python2.7.5,我想安装一个python3但是还要…...
怎么通过中级职称有窍门吗?
中级职称评审对人才加薪、升职自然不必说,更重要的是职称证书对于公司和企业同样具有重要的价值和意义,因此只要是说公司办理资质或者有项目招投标的公司对于人才参加中级职称评审毫无疑问会给予大力支持,既然工程师职称有这么多的好处&#…...
SAP ABAP根据事务码查找增强最直接的方法
下面是为任意事务代码查找用户出口的步骤: 方法一: 第 1 步:使用 事务代码:SE93。输入您要搜索用户出口的 事务代码。 在我们的场景中,我们将使用 CO11N。 第 2 步:点击显示: 第 3 步…...
HTTP协议——详细讲解
目录 一、HTTP协议 1.http 2.url url的组成: url的保留字符: 3.http协议格式编辑 ①http request ②http response 4.对request做出响应 5.GET与POST方法 ①GET ②POST 7.HTTP常见Header ①Content-Type:: 数据类型(text/html等)在上文…...
黑马Mybatis
Mybatis 表现层:页面展示 业务层:逻辑处理 持久层:持久数据化保存 在这里插入图片描述 Mybatis快速入门 模块,并采用分阶段微调策略的实践过程。通过这个过程,我不仅提升…...
vscode(仍待补充)
写于2025 6.9 主包将加入vscode这个更权威的圈子 vscode的基本使用 侧边栏 vscode还能连接ssh? debug时使用的launch文件 1.task.json {"tasks": [{"type": "cppbuild","label": "C/C: gcc.exe 生成活动文件"…...
CentOS下的分布式内存计算Spark环境部署
一、Spark 核心架构与应用场景 1.1 分布式计算引擎的核心优势 Spark 是基于内存的分布式计算框架,相比 MapReduce 具有以下核心优势: 内存计算:数据可常驻内存,迭代计算性能提升 10-100 倍(文档段落:3-79…...
《基于Apache Flink的流处理》笔记
思维导图 1-3 章 4-7章 8-11 章 参考资料 源码: https://github.com/streaming-with-flink 博客 https://flink.apache.org/bloghttps://www.ververica.com/blog 聚会及会议 https://flink-forward.orghttps://www.meetup.com/topics/apache-flink https://n…...
DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”
目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...
Java 二维码
Java 二维码 **技术:**谷歌 ZXing 实现 首先添加依赖 <!-- 二维码依赖 --><dependency><groupId>com.google.zxing</groupId><artifactId>core</artifactId><version>3.5.1</version></dependency><de…...
Java数值运算常见陷阱与规避方法
整数除法中的舍入问题 问题现象 当开发者预期进行浮点除法却误用整数除法时,会出现小数部分被截断的情况。典型错误模式如下: void process(int value) {double half = value / 2; // 整数除法导致截断// 使用half变量 }此时...
计算机基础知识解析:从应用到架构的全面拆解
目录 前言 1、 计算机的应用领域:无处不在的数字助手 2、 计算机的进化史:从算盘到量子计算 3、计算机的分类:不止 “台式机和笔记本” 4、计算机的组件:硬件与软件的协同 4.1 硬件:五大核心部件 4.2 软件&#…...
libfmt: 现代C++的格式化工具库介绍与酷炫功能
libfmt: 现代C的格式化工具库介绍与酷炫功能 libfmt 是一个开源的C格式化库,提供了高效、安全的文本格式化功能,是C20中引入的std::format的基础实现。它比传统的printf和iostream更安全、更灵活、性能更好。 基本介绍 主要特点 类型安全:…...
