unity3d:asset store上C#代码热重载插件,不需要重运行,重新加载更新后函数

这篇具有很好参考价值的文章主要介绍了unity3d:asset store上C#代码热重载插件,不需要重运行,重新加载更新后函数。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

C#热重载插件地址

https://assetstore.unity.com/packages/tools/utilities/hot-reload-edit-code-without-compiling-250972?clickref=1011lwHg8abv&utm_source=partnerize&utm_medium=affiliate&utm_campaign=unity_affiliate#description
unity hotreload,Unity3d技术笔记,Unity3d+C#,c#,unity3d,C#热重载

打开热重装有两种方法

●方法1:通过导航到Unity菜单栏中的“窗口”打开热重装窗口,然后选择“热重装”。
●方法2:使用快捷键组合“Alt+Shift+H”快速打开热重装窗口。

如何工作

Hot Reload是一个C#编译器扩展,它只编译发生变化的特定方法(非常快,只需要几毫秒)。编译后,我们只将该函数与新版本交换。
这也意味着不涉及域重载,所以静态变量保持不变。
要保持这个窗口不能关闭
unity hotreload,Unity3d技术笔记,Unity3d+C#,c#,unity3d,C#热重载

使用示例

    void Update()
    {
        Debug.Log("222");
    }

输出从111,改为222
不需要重新启动,可以看到log刷出的更改
unity hotreload,Unity3d技术笔记,Unity3d+C#,c#,unity3d,C#热重载

Unity自动刷新

热重新加载建议默认禁用“自动刷新”编辑器设置,因为它会在任何文件更改时触发完全重新编译,这是热重新加载允许您避免的。
您可以使用CTRL+R手动触发重新编译,编辑器将自动确定需要编译的内容。这种手动重新编译应该在进行不支持的编辑时使用,比如添加一个新类。当您进行不支持的编辑时,将会显示明确的警告。
请注意,在进行了不支持的编辑后,通常仍有可能继续编辑不相关的文件和函数。在执行手动重新编译之前,不支持的编辑在编辑器中是不可见的。

哪些unity版本可用

此外,以下Unity版本测试并支持热重装:
●2018.4 (LTS)
●2019.4 (LTS)
●2020.3 (LTS)
●2021.3 (LTS)
●2022.1
●2022.2
●2023.1(阿尔法)

常见问题

1.我的更改仅在我聚焦Unity编辑器窗口时生效
改变设置Edit -> Project Settings -> Player -> Run In Background,打上勾
2.热重载在Windows上使用大量内存/CPU
为了检测哪个文件发生了更改,热重载使用了一个文件监视器。在正常执行期间,文件监视器会导致Windows Defender进行大量扫描,从而导致高内存/CPU。建议从Windows Defender中排除项目目录

20230807更新

https://assetstore.unity.com/packages/tools/utilities/fast-script-reload-239351
这个新插件不需要登录,免费,可能效果更好点
unity hotreload,Unity3d技术笔记,Unity3d+C#,c#,unity3d,C#热重载文章来源地址https://www.toymoban.com/news/detail-786699.html

到了这里,关于unity3d:asset store上C#代码热重载插件,不需要重运行,重新加载更新后函数的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Unity3D中的C#协程(概念、使用方法、底层原理)

             Unity3D 中的协程是针对 Unity3D 框架和 C# 编程语言定制的 ,具有便捷的使用方式和良好的效率。其他语言Python、Lua等也支持协程,但是底层实现的细节可能不同。在 Unity3D 引擎中, 协程被 Unity3D 引擎的主循环所驱动 。         协程(Coroutine)是一种编程概念

    2024年02月08日
    浏览(54)
  • 【Unity3D插件】Embedded Browser嵌入式浏览器插件使用教程

    推荐阅读 CSDN主页 GitHub开源地址 Unity3D插件分享 简书地址 我的个人博客 大家好,我是佛系工程师 ☆恬静的小魔龙☆ ,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 好久没有介绍插件了,今天分享一款比较好用的嵌入式浏览器插件。 可以在Unity的UGUI上渲染一个网页

    2024年02月11日
    浏览(40)
  • Unity3D中用Vectrosity插件画直线、画点、画曲线、画方框

    Unity3D 中用Vectrosity插件画直线、画点、画曲线、画方框 。Vectrosity插件是 Unity3D 目前发现的一个画线最好的工具插件。   画线我们肯定需要LinePoints,注意:Vector2是Screen以像素为单位的点,如果用Vector3的话那么就是world Space里面的点画线。 画直线用Vector.DrawLine,如果给了材质

    2023年04月24日
    浏览(42)
  • 如何在 Unity3D 制作一杯水 LiquidVolume插件 水杯 烧瓶液体

    这款插件功能非常强大,你可以做烧杯装液体,啤酒,鱼缸,甚至是制作一个池塘. Shader的类型与功能都很齐全,基本上可以满足你想要大部分的效果. 这款插件我做了中文翻译,对于英文不是很好的童鞋会有帮助,至少一目了然,大概知道这个参数是做什么的. 参数截图 效果 与原版插件

    2024年02月02日
    浏览(49)
  • C#的Random与Unity3D的Random.Range()

    目录 C#的Random Unity3D的Random.Range() 在C#中,Random类用于生成伪随机数。它位于System命名空间下,所以要在代码中使用Random类,需要添加以下using语句: 在创建Random对象时,可以选择使用当前时间作为种子,也可以指定一个整数值作为种子。如果使用相同的种子来创建Random对象,

    2024年02月16日
    浏览(37)
  • Unity3D代码混淆方案详解

    Unity引擎使用Mono运行时,而C#语言易受反编译影响,存在代码泄露风险。本文通过《QQ乐团》项目实践,提出一种适用于Unity引擎的代码混淆方案,以保护代码逻辑。 在Unity引擎下,为了防止代码被轻易反编译,需要采取相应的保护措施。本文将分享一种基于实践经验的可行方

    2024年01月18日
    浏览(46)
  • Unity3D实现第一人称移动,随鼠标转动视角+上楼梯(C#)

    第一人称移动: 1、在层级面板创建一个Capsule,命名为Player,将层级面板中的相机拖到Player下方 2、重置Player和摄像机的Transform数值(方便调整摄像机在Player上的位置),然后调整摄像机在Player上的位置 大概将摄像机放到Player眼睛的位置即可。 3、创建一个脚本,命名为Came

    2024年02月13日
    浏览(58)
  • Unity3D C# 中foreach的GC产出(2023年带数据)

    注意:笔者有点被杠怕了…确实也不严谨,也怕看不到,所以开头这里加一句:foreach本身不会产生GC,产生GC的原因是foreach使用了迭代器Enumerator,而取决于容器的不同,有些迭代器的初始化会产生GCAlloc… 很多读者在听一些群内大佬谈话过程中可能会听说 foreach遍历集合会产生

    2024年02月16日
    浏览(50)
  • Unity3D高级编程主程手记 学习笔记二:C#技术要点

    1.Untiy3D中C#的底层原理 Unity底层在运行C#程序时有两种机制:一种是Mono,另一种是IL2CPP。 Mono存在的目的是为了跨平台 ,因为最初C#只支持Windows。而IL可以看成是一种汇编语言且完全基于堆栈,必须运行在虚拟机上。也就是说C#会被编译器编译成IL,当需要他们时就会被实时的

    2024年02月08日
    浏览(64)
  • unity3d中多个摄像机切换代码

    2024年02月11日
    浏览(49)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包