修改UnityEngine dll

修改UnityEngine dll

由于有些版本的dll与热重载并不兼容,需要小幅修改代码。

使用dnspy工具

我们使用 dnspy 来修改 dll文件。而dnspy只能在Win下运行,故哪怕是mac版本dll, 你也得先将相应dll复制到Win下后再修改。下载 dnspy,选择 Win64版本。

修改dll的操作大致如下:

dnspy中清空左侧所有dll

  • 打开dll
  • 找到你要修改的函数 ToModifiedType.ToModifiedMethod 函数, 右键菜单 ->
    编辑方法(c#)…,弹出源码编辑界面。
  • 如果编辑器提示缺少某些dll引用,点击源码编辑窗口左下角类似文件夹的按钮,进行添加。
  • 修改代码
  • 点击右下角的 编译 按钮,如果成功,则无任何提示,退出编辑界面,返回反编译查看模式。如果失败,请自行处理编译错误。有时候dnspy
  • 会有莫名其妙的引用错误,退出源码编辑模式,重新右键编辑方法,再次进入就能解决。 菜单 文件 -> 保存模块
    保存修改后的dll文件。如果在Win或Mac下,有可能会遇到权限问题,请酌情处理(比如先保存到其他位置,再手动覆盖)

修改 UnityEngine.CoreModule.dll

警告: 只有 Unity 2022+版本才需要修改。

Unity对于每个BuildTarget提供了单独一套UnityEngine dll,它们位置在

{editor_install_dir}/Editor/Data/PlaybackEngines/{platform}/Variations/il2cpp(iOS平台为iOSSupport\Variations\il2cpp\Releasearm64_managed)

目录下, 请根据自己需要打包的平台,替换每个平台下的相关dll。

由于UnityEngine.CoreModule.dll引用了NetStandard 2.1,编译前需要先将

Editor\Data\NetStandard\ref\2.1.0\netstandard.dll

拉入 dnspy左侧程序集资源管理器中。

原始代码:

/// <summary>
///   <para>Returns one active GameObject tagged tag. Returns null if no GameObject was found.</para>
/// </summary>
/// <param name="tag">The tag to search for.</param>
// Token: 0x06001B92 RID: 7058
public static GameObject FindWithTag(string tag)
{return GameObject.FindGameObjectWithTag(tag);
}

修改后的代码:

/// <summary>
///   <para>Returns one active GameObject tagged tag. Returns null if no GameObject was found.</para>
/// </summary>
/// <param name="tag">The tag to search for.</param>
// Token: 0x06001B92 RID: 7058
public static GameObject FindWithTag(string tag)
{Debug.Log("test FindWithTag");return GameObject.FindGameObjectWithTag(tag);
}

验证:

void Start()
{var go = GameObject.FindWithTag("Player");Debug.Log(go.name);
}

在这里插入图片描述

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

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

相关文章

FastAdmin青动CRM-E售后

应用介绍 一款基于FastAdminThinkPHP和uniapp开发的CRM售后管理系统&#xff0c;旨在助力企业销售售后全流程精细化、数字化管理&#xff0c;主要功能&#xff1a;客户、合同、工单、任务、报价、产品、库存、出纳、收费&#xff0c;适用于&#xff1a;服装鞋帽、化妆品、机械机…

服务器使用过程中遇到常见故障及解决方案(包括蓝屏死机、无法删除的文件如何清理、网络卡、服务器连接不上等)

互联网时代&#xff0c;服务器的安全性和稳定性尤为重要&#xff0c;支撑着整个互联网行业的信息和数据安全。最近经常有客户咨询服务器的日常故障排除方法。由于服务器复杂的硬件结构和繁琐的运行原理&#xff0c;经常会出现这样那样的问题&#xff0c;有时即使是最小的问题也…

item_get_video-获取视频详情(bili.item_get_video)

B站&#xff08;Bilibili&#xff09;的item_get_video API用于获取视频的详细信息。通过调用该API&#xff0c;您将能够获得视频的基本信息、元数据、播放链接等。这使得开发者可以轻松地将B站视频集成到自己的应用程序或网站中&#xff0c;为用户提供更丰富的内容和更好的体验…

机器学习本科课程 实验5 贝叶斯分类

实验1.使用sklearn的GaussianNB、BernoulliNB、MultinomialNB完成肿瘤预测任务 实验内容&#xff1a; 使用GaussianNB、BernoulliNB、MultinomialNB完成肿瘤预测计算各自十折交叉验证的精度、查准率、查全率、F1值根据精度、查准率、查全率、F1值的实际意义以及四个值的对比阐…

ObjectMapper之处理JSON序列化和反序列化

目录 基本示例Java 对象转 JSON 字符串&#xff08;序列化&#xff09;JSON 字符串转 Java 对象&#xff08;反序列化&#xff09; 高级特性忽略未知属性使用注解自定义序列化 当然可以。让我们通过更详细的例子来探索 ObjectMapper 的使用&#xff0c;包括基本的序列化和反序…

2-12 SDATR的训练与测试

2.12 SDATR的训练与测试 使用环境:3卡服务器SDATR 服务器代码地址:/home/lihuanyu/code/036SDATR 本地代码地址:F:\BaiduNetdiskDownload\code\036SDATR 2.12.1 训练文件修改 输入数据修改 载入词汇修改 短点保存修改 权重保存修改 其他位置修改:

springboot果蔬配送商城

技术架构&#xff1a; java mysql bootstrap jquery mybatis springboot 有需要该项目的小伙伴可以私信我你的Q。 功能介绍&#xff1a; 系统基于Java技术进行开发&#xff0c;后台数据库使用MySQL&#xff0c;在Windows环境下使用idea开发工具进行开发&#xff0c;主…

【计算机网络基础篇】学习笔记系列之二《游览器输入URL后发生了什么?》

文章目录 1&#xff0c;问题提出2&#xff0c;输入URL过程用到的协议3&#xff0c;输入URL过程分析3.1&#xff0c;孤单小弟 - HTTP3.2&#xff0c;真实地址查询 - DNS3.2&#xff0c;指南好帮手 - 协议栈3.3&#xff0c;可靠传输 - TCP3.4&#xff0c;远程定位- IP3.5&#xf…

Ardupilot Chibios硬件启动初始化过程整理

ardupilot 的启动根据不同HAL 的启动过程不一样 &#xff0c; chibios 的硬件入口是 硬件启动 -> modules/Chibios/common/startup/ARMCMx/compilers/GCC/VECTOR.S ResetHandler: modules/Chibios/common/startup/ARMCMx/compilers/GCC/ crt0_v7m.S crt0_entry--AP_HAL_Chi…

陶哲轩如何用 GPT-4 辅助数学研究

关于陶哲轩&#xff08;Terence Tao&#xff09;用 GPT-4 进行数学研究的话题始于陶本人在 微软 Unlocked 上发表的 Embracing Change and Resetting Expectations 一文。文中提到&#xff1a; …… I could feed GPT-4 the first few PDF pages of a recent math preprint and…

[学习笔记]刘知远团队大模型技术与交叉应用L6-基于大模型文本理解和生成介绍

介绍 NLP的下游运用可以分为&#xff1a;NLU(理解)和NLG(生成) 信息检索&#xff1a;NLU 文本生成&#xff1a;NLG 机器问答&#xff1a;NLUNLG 大模型在信息检索 大模型在机器问答 大模型在文本生成 信息检索-Information Retrieval (IR) 背景 谷歌搜索引擎目前同时集成了…

【Ubuntu】安装filebeat

在Ubuntu系统上安装filebeat 1. 添加ElasticSearch的GPG密钥 wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -2. 添加ElasticSearch的APT存储库 echo "deb https://artifacts.elastic.co/packages/oss-8.x/apt stable main"…

Docker 可视化工具

1、Portainer 概念介绍 Portainer是一款轻量级的应用&#xff0c;它提供了图形化界面&#xff0c;用于方便地管理Docker环境&#xff0c;包括单机环境和集群环境。 Portainer分为开源社区版&#xff08;CE版&#xff09;和商用版&#xff08;BE版/EE版&#xff09;。 Porta…

嵌入式学习第十六天!(Linux文件查看、查找命令、标准IO)

Linux软件编程 1. Linux&#xff1a; 操作系统的内核&#xff1a; 1. 管理CPU 2. 管理内存 3. 管理硬件设备 4. 管理文件系统 5. 任务调度 2. Shell&#xff1a; 1. 保护Linux内核&#xff08;用户和Linux内核不直接操作&#xff0c;通过操作Shell&#xff0c;Shell和内核交互…

idea常用设置

1、内存优化 根据自己电脑本身的内存&#xff0c;对idea安装包里bin目录下的idea64.exe.vmoptions文件进行修改 -server -Xms256m -Xmx2048m -XX:MaxPermSize1024m -XX:ReservedCodeCacheSize256m -ea -Dsun.io.useCanonCachesfalse -Djava.Net.preferIPv4Stacktrue -Djsse.e…

2024 极术通讯-安谋科技2023精彩征程回顾

导读&#xff1a;极术社区推出极术通讯&#xff0c;引入行业媒体和技术社区、咨询机构优质内容&#xff0c;定期分享产业技术趋势与市场应用热点。 芯方向 使用 Arm SPE 进行芯片数据采集和性能分析 Arm Statistical Profiling Extension (SPE, 统计分析扩展) 是一种架构级功…

CSS:水平垂直居中

公共的 CSS 样式&#xff1a; .parent {width: 300px;height: 300px;background-color:#d0e4fe; }.child {width: 100px;height: 100px;background-color:orange; }HTML: <div class"parent"><div class"child"></div> </div>最…

docker-compose部署laravel项目实战(主机nginx连接项目容器)(详细配置过程)

我用的是主机上的nginx,没有用docker安装nginx&#xff0c; 所以需要先在主机上安装nginx # 更新系统yum sudo yum update# 安装安装包sudo yum install epel-release sudo yum install wget# 安装Nginx sudo yum install nginx #启动 sudo systemctl start nginx #开机自启动…

Centos7配置登录失败处理导致root被锁定处理办法

1、应用场景 root用户被系统锁定&#xff0c;无法登录系统。 2、问题现象 root锁定无法登录系统 3、原因 设置登录失败处理并对root用户生效&#xff0c;一直尝试错误的root密码或暴力破解root密码&#xff0c;导致无法自动解锁Linux的root账户 4、解决方案 1.将虚拟机开…

什么是java程序的主类,应用程序主类和小程序主类有什么不同?

在Java中&#xff0c;主类&#xff08;Main Class&#xff09;通常指的是包含main方法的类&#xff0c;这个方法是Java程序的入口点。在Java应用程序中&#xff0c;有两种主要的主类概念&#xff0c;分别是应用程序主类和小程序主类。 1. Java应用程序主类&#xff08;Applica…