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

Unity开发——XLua热更新之Hotfix配置(包含xlua获取与导入)

一、Git上获取xlua

最新的xlua包,下载地址链接:https://github.com/Tencent/xLua

二、Unity添加xlua

解压xlua压缩包后,将xlua里的Assets里的文件直接复制进Unity的Assets文件夹下。

成功导入后,unity工具栏会出现xlua选项。

 注:如果只是本地简单xlua与Unity/C#交互的话,完成该步就可以正常在使用。

三、hotfix环境配置

XLua的Hotfix用于实现对Unity代码修复与补丁更新

1、添加/打开使用Hotfix实现修复与补丁的宏:

如果不打开,部分方法无法使用。打开路径:

File->Build Setting->Player Settings->Player->otherSettings->Scriptsing Define Symbols

添加输入:HOTFIX_ENABLE        按Enter键回车或Apply按钮点击确认,等待编译。

成功打开编译后,工具栏XLua项多出Hotfix选项,就可以把写好的lua代码注入到C#程序集中了。

 

 2、初始可能存在的报错的解决方案:
(1)报错1:首次运行Hotfix项目时报no field错误

LuaException:xlua.access,no field__Hotfix0_Update stack traceback;

导入xlua后,找到xlua的example里的08_Hotfix项目,直接运行HotfixTest场景时会报该错误。

出现原因:修改补丁时,未对项目里的lua代码进行代码生成和注入到编辑器中的两个步骤;

解决方法:

1)生成一下之前写好的Lua代码:XLua->GenerateCode;

如果当前项目中有任何一个C#脚本进行了更改,都需有点击GenerateCode重新生成下代码。

2)把生成好的代码注入到编辑器中:Xlua->Hotfix Inject In Editor;

注:可能存在生成代码或注入到编辑器里失败的情况,上面两个操作点击执行后,等console面板finish提示标记表示编译成功后,再进行下一步操作。没有标记提示,需要重新生成代码。

(2)报错2:执行Hotfix Inject In Editor操作时,可能会出现报错:please install Tools

解决方法:

1)将xlua文件里的Tools文件复制到项目中。

2)重新生成代码:XLua->GenerateCode;

3)重新注入到编译器中:Xlua->Hotfix Inject In Editor;

注:1)Tools文件在xlua里是和Assets是同级文件,这里复制到项目中也注意层级。

后续需要复制其他xlua文件里的对象也同样注意层级位置。

2)建议文件夹里复制,直接拖进Unity里是放到Assets文件夹下,该操作也会报错。

Tools复制进Unity里,unity的Project面板下没有显示Tools文件夹。这是正常的,也不要以为没复制成功。

(3)报错3:执行Hotfix Inject In Editor操作时,可能会出现WARNING提示;

WRANING:The runtime version supported by this application is unabailable.

解决方法:

1)检查下三个dll配置文件有没有导入:

①查找配置文件,Unity安装目录下:Unity->Editor->Data->Managed:三个Ceci文件

Unity.Ceci.pdb.dll,Unity.Ceci.Mdb.dll,Unity.Ceci.dll;

②复制配置文件到项目:Assets->XLua->Src->Editor里;

③打开项目等待编译后,点击执行XLua->GenerateCode,然后再执行Hotfix Inject In Editor

2)若还存在警告,可能因为xlua放置目录路径存在中文,中文乱码未识别导致警告。

①重命名对应的文件夹名;修改项目文件名后,重新打开项目;

②先GenerateCode生成代码,再Hotfix Inject In Editor注入到编辑器中;

注入成功同生成代码成功一样,都是报finish提示

相关文章:

Unity开发——XLua热更新之Hotfix配置(包含xlua获取与导入)

一、Git上获取xlua 最新的xlua包,下载地址链接:https://github.com/Tencent/xLua 二、Unity添加xlua 解压xlua压缩包后,将xlua里的Assets里的文件直接复制进Unity的Assets文件夹下。 成功导入后,unity工具栏会出现xlua选项。 …...

Qt 基于FFmpeg的视频转换器 - 转GIF动图

Qt 基于FFmpeg的视频转换器 - 转GIF动图 引言一、设计思路二、核心源码三、参考链接 引言 gif格式的动图可以通过连续播放一系列图像或视频片段来展示动态效果,使信息更加生动形象,可以很方便的嵌入到网页或者ppt中。上图展示了视频的前几帧转为gif动图的…...

HTML新春烟花盛宴

目录 写在前面 烟花盛宴 完整代码 修改文字...

第十四届蓝桥杯c++研究生组

A 混乘数字 关键思路是求每个十进制数的数字以及怎么在一个数组中让判断所有的数字次数相等。 求每个十进制的数字 while(n!0){int x n%10;//x获取了n的每一个位数字n/10;}扩展:求二进制的每位数字 (注意:进制转换、1的个数、位运算&#…...

KDD 2024|基于隐空间因果推断的微服务系统根因定位

简介:本文介绍了由清华大学、南开大学、eBay、微软、中国科学院计算机网络信息中心等单位共同合作的论文《基于隐空间因果推断的受限可观测性场景的微服务系统根因定位》。该论文已被KDD 2024会议录用。 论文标题:Microservice Root Cause Analysis Wit…...

白鹭群优化算法,原理详解,MATLAB代码免费获取

白鹭群优化算法(Egret Swarm Optimization Algorithm,ESOA)是一种受自然启发的群智能优化算法。该算法从白鹭和白鹭的捕食行为出发,由三个主要部分组成:坐等策略、主动策略和判别条件。将ESOA算法与粒子群算法(PSO)、遗传算法(GA)…...

【源码】2024完美运营版商城/拼团/团购/秒杀/积分/砍价/实物商品/虚拟商品等全功能商城

后台可以自由拖曳修改前端UI页面 还支持虚拟商品自动发货等功能 前端UNIAPP 后端PHP 一键部署版本 获取方式: 微:uucodes...

Java-数组内存解析

文章目录 1.内存的主要结构:栈、堆2.一维数组的内存解析3.二维数组的内存解析 1.内存的主要结构:栈、堆 2.一维数组的内存解析 举例1:基本使用 举例2:两个变量指向一个数组 3.二维数组的内存解析 举例1: 举例2&am…...

Spring Cache --学习笔记

一、概述 Spring Cache 是一个框架,实现了基于注解的缓存功能,只需要简单地加一个注解,就能实现缓存功能。 Spring Cache 提供了一层抽象,底层可以切换不同的缓存实现,例如: EHCache Caffeine Redis(常…...

NTP服务的DDoS攻击:原理和防御

NTP协议作为一种关键的互联网基础设施组件,旨在确保全球网络设备间的时钟同步,对于维护数据一致性和安全性至关重要。然而,其设计上的某些特性也为恶意行为者提供了发动大规模分布式拒绝服务(DDoS)攻击的机会。以下是NTP服务DDoS攻击及其防御…...

【面试干货】事务的并发问题(脏读、不可重复读、幻读)与解决策略

【面试干货】事务的并发问题(脏读、不可重复读、幻读)与解决策略 一、脏读(Dirty Read)二、不可重复读(Non-repeatable Read)三、幻读(Phantom Read)四、总结 💖The Begi…...

函数式接口:现代编程的利器

1. 引言 在软件开发的演进过程中,函数式编程(Functional Programming, FP)逐渐显露头角,成为解决复杂问题的有效工具之一。函数式接口作为函数式编程的核心概念之一,其重要性不言而喻。本文将深入探讨函数式接口的概念…...

2022职称继续教育--深入实施新时代人才强国战略 加快建设世界重要人才中心和创新高地

单选题(共7题,每题5分) 1、()实行职位职级制工资为主。 D、中长线科研重要岗位人员 2、建设世界重要人才中心和创新高地有()个阶段目标。 B、三 3、综合国力竞争说到底是(&#xf…...

kube-prometheus-stack 识别 k8s 集群内所有的 ServiceMonitor 和 PrometheusRule

默认情况下,kube-prometheus-stack 只自己创建的 ServiceMonitor,如果 k8s 集群内有多个非 kube-prometheus-stack 创建的 ServiceMonitor,不会被识别到。PrometheusRule 同理。 要识别所有的 ServiceMonitor 和 PrometheusRule ,…...

Android 图片加载glide库 一次通关

前言 Glide是一个由Bumptech开发的开源图片加载库,专门用于Android平台。它被广泛应用于Android应用中,以简化图片加载过程,并提高性能和效率。 Glide能够快速加载图片,同时减少页面加载时间和内存消耗。Glide具有强大的缓存机制…...

Spring OAuth2:开发者的安全盾牌!(上)

何利用Spring OAuth2构建坚不可摧的安全体系?如何使用 OAuth2 从跨域挑战到性能优化,每一个环节都为你的应用保驾护航? 文章目录 Spring OAuth2 详解1. 引言简述OAuth2协议的重要性Spring Framework对OAuth2的支持概述 2. 背景介绍2.1 OAuth2…...

设计模式使用(成本扣除)

前言 名词解释 基础名词 订单金额:用户下单时支付的金额,这个最好理解 产品分成:也就是跟其他人合做以后我方能分到的金额,举个例子,比如用户订单金额是 100 块,我方的分成是 80%,那么也就是…...

输入输出(2)——C++的标准输出流

目录 一、C的标准输出流 (一)cout、cerr和clog流对象 1、cout 流对象 2、cerr 流对象 3、clog流对象 (二)用函数put输出字符 (三)用函数 write 输出字符 一、C的标准输出流 标准输出流——流向标准输…...

C语言序列化和反序列化--TPL(一)

TPL TPL说明网站 C语言中高效的序列化 您可以使用tpl快速轻松地存储和重新加载C数据。Tpl是一个用于序列化C数据的库。数据以自然二进制形式存储。该API很小,并试图保持“不碍事”。Tpl可以序列化许多C数据类型,包括结构。Tpl与文件、内存缓冲区和文件…...

Session + JWT + Cookie

00:HTTP无状态(为了保持状态,前端好麻烦,又要自己存,又要想办法带出去,于是使用cookie) 01:Cookie 将用户信息,在每次请求时候 带给后端(但是自己存储大小有…...

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器的上位机配置操作说明

LBE-LEX系列工业语音播放器|预警播报器|喇叭蜂鸣器专为工业环境精心打造,完美适配AGV和无人叉车。同时,集成以太网与语音合成技术,为各类高级系统(如MES、调度系统、库位管理、立库等)提供高效便捷的语音交互体验。 L…...

多模态2025:技术路线“神仙打架”,视频生成冲上云霄

文|魏琳华 编|王一粟 一场大会,聚集了中国多模态大模型的“半壁江山”。 智源大会2025为期两天的论坛中,汇集了学界、创业公司和大厂等三方的热门选手,关于多模态的集中讨论达到了前所未有的热度。其中,…...

【Linux】shell脚本忽略错误继续执行

在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...

边缘计算医疗风险自查APP开发方案

核心目标:在便携设备(智能手表/家用检测仪)部署轻量化疾病预测模型,实现低延迟、隐私安全的实时健康风险评估。 一、技术架构设计 #mermaid-svg-iuNaeeLK2YoFKfao {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}#mermaid-svg…...

测试markdown--肇兴

day1: 1、去程:7:04 --11:32高铁 高铁右转上售票大厅2楼,穿过候车厅下一楼,上大巴车 ¥10/人 **2、到达:**12点多到达寨子,买门票,美团/抖音:¥78人 3、中饭&a…...

c++ 面试题(1)-----深度优先搜索(DFS)实现

操作系统:ubuntu22.04 IDE:Visual Studio Code 编程语言:C11 题目描述 地上有一个 m 行 n 列的方格,从坐标 [0,0] 起始。一个机器人可以从某一格移动到上下左右四个格子,但不能进入行坐标和列坐标的数位之和大于 k 的格子。 例…...

在Ubuntu中设置开机自动运行(sudo)指令的指南

在Ubuntu系统中,有时需要在系统启动时自动执行某些命令,特别是需要 sudo权限的指令。为了实现这一功能,可以使用多种方法,包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法,并提供…...

MySQL 8.0 OCP 英文题库解析(十三)

Oracle 为庆祝 MySQL 30 周年,截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始,将英文题库免费公布出来,并进行解析,帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...

3403. 从盒子中找出字典序最大的字符串 I

3403. 从盒子中找出字典序最大的字符串 I 题目链接:3403. 从盒子中找出字典序最大的字符串 I 代码如下: class Solution { public:string answerString(string word, int numFriends) {if (numFriends 1) {return word;}string res;for (int i 0;i &…...

学校时钟系统,标准考场时钟系统,AI亮相2025高考,赛思时钟系统为教育公平筑起“精准防线”

2025年#高考 将在近日拉开帷幕,#AI 监考一度冲上热搜。当AI深度融入高考,#时间同步 不再是辅助功能,而是决定AI监考系统成败的“生命线”。 AI亮相2025高考,40种异常行为0.5秒精准识别 2025年高考即将拉开帷幕,江西、…...