StarForce+HyBridClr

StarForce+HyBridClr的实现以及其他功能的添加

写在前面:对GF热更新流程不熟悉的小伙伴可以先看我之前的文章

StarForce+HyBridCLR项目地址

Unity 版本是2121.3.11f1
HyBridCLR 2.1.0

首先安装HyBridClr,
安装教程如下:
https://focus-creative-games.github.io/hybridclr/install/#%E5%AE%89%E8%A3%85hybridclr-package

1.先安装

在这里插入图片描述
在这里插入图片描述

2.Window/Package Manager ,可以通过git地址安装:
在这里插入图片描述

地址是:

main分支地址为 https://gitee.com/focus-creative-games/hybridclr_unity.git
1.0分支地址为 https://gitee.com/focus-creative-games/hybridclr_unity.git#1.0
其他tag版本地址为 https://gitee.com/focus-creative-games/hybridclr_unity.git#{tag}
建议使用主分支

在这里插入图片描述

3.安装完成了,确认配置
在这里插入图片描述

4.配置ab
在这里插入图片描述
在这里插入图片描述

5.配置完了可以用GF自带的插件查看
在这里插入图片描述

6.除了刚开始的第一次打包,后面如果只是代码逻辑的修改,只需要对应平台的compile就好,他会自动将新的game.hotfix.dll拷贝到dlls下面,后续主要都是用Game这个插件,
在这里插入图片描述

选择对应的hotfix平台,然后点击Compile,如果提示
在这里插入图片描述

那么就要先打包。
在这里插入图片描述

也可以选择我新加的插件Build,选择对应的平台,会自己打包到Builds文件夹下面
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

打安卓包之前的的环境需要自己配置,这个在Prefrence/Extenal Tools里面
在这里插入图片描述

正常来说Compile成功应该是这样的:
在这里插入图片描述

其他修改:
修改自己的服务器地址:
在这里插入图片描述
在这里插入图片描述

7.构建ab,如果要对ab做修改,可以点击Editor,这个和rule那个用的是同一份配置,如果不需要修改,那么直接点击Build
在这里插入图片描述

选择对应的平台和对应的文件夹,需要在项目中创建一个文件夹,我这里叫做ABs,他和Assets是同一级目录,都设置完毕了,就点击 Start Build Resources,打完ab他的资源版本号会自动加1,成没成功自己看下Console,或者打开ABs看下
在这里插入图片描述
在这里插入图片描述

我们在测试的时候,可以把整个ABs文件夹,放在资源服务器上,这里使用HFS,
热更新的时候涉及到的Full文件夹和xxVersion.txt,每个平台会生成自己的txt,这里面指定了对应的资源地址。
具体的这里的逻辑和步骤和参考下我的那篇GF的热更新打包流程

代码更新
1.后面涉及到代码逻辑的修改,都放在这里
在这里插入图片描述

2.有新的业务逻辑,只要
在这里插入图片描述

3.打完了ab之后,然后更新新的ab到资源服务器上,重新进入游戏的时候就会更新到新的逻辑了。

HFS大概显示如下:
在这里插入图片描述

后续只要不涉及到原生、框架层面等打到包体里面的更新,都不用出新的包,也就是说理论情况下,只要出一次基础包,后续更新资源即可。

在这里插入图片描述
在这里插入图片描述
欢迎大家交流,有不妥之处,还请指正,谢谢。
ps:欢迎大家进q群交流游戏开发的问题(632313288

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
下面是一个较为详细的StarForce_ILRuntime热更新教程: 1. 安装StarForce_ILRuntime插件 首先,在Unity编辑器中打开Asset Store,搜索并安装StarForce_ILRuntime插件。安装完成后,你会在Unity的菜单栏中看到一个名为“StarForce_ILRuntime”的选项。 2. 配置热更新工程 在Unity中,我们需要创建一个专门用于热更新的工程,这个工程需要包含一些必要的文件和目录,具体包括: - Hotfix目录:热更新的代码放在这个目录下,这个目录的名字和位置可以自己定义。 - AppDomainConfig.txt:存放ILRuntime的配置信息。 - Hotfix.dll:热更新代码编译后生成的DLL文件。 3. 配置ILRuntime 在热更新工程中,我们需要对ILRuntime进行配置,具体包括: - 配置AppDomainConfig.txt:这个文件中包含了ILRuntime的一些配置信息,比如要哪些DLL文件,哪些类型需要注册等。可以参考官方文档进行配置。 - 注册需要热更新的类型:在热更新工程中,我们需要手动注册需要热更新的类型,这些类型通常是游戏逻辑相关的类型,比如游戏控制器、模型、UI等。可以在代码中使用ILRuntime的RegisterCrossBindingAdaptor方法进行注册。 4. 编写热更新代码 在Hotfix目录中编写需要热更新的代码,代码的编写方式和普通的C#代码基本一致。需要注意的是,在热更新工程中,我们不能使用Unity的API和类型,需要使用ILRuntime提供的跨域适配器进行映射。 5. 编译热更新代码 在热更新工程中,我们需要使用ILRuntime提供的工具将热更新代码编译成DLL文件,并将DLL文件和其它资源文件一起打包成一个AB文件。具体的打包方式可以参考官方文档。 6. 加载热更新资源 在游戏运行时,我们需要加载热更新资源,具体步骤如下: - 使用AssetBundle.LoadFromFileAsync方法加载AB文件。 - 使用AssetBundle.LoadAsset方法加载DLL文件,并调用ILRuntime的CLRRedirection.AddReference方法添加引用。 - 使用AssetBundle.LoadAsset方法加载热更新代码的入口类,并调用ILRuntime的AppDomain.Invoke方法执行入口方法。 7. 注意事项 在使用StarForce_ILRuntime进行热更新时,需要注意以下几点: - 热更新的代码不能使用Unity的API和类型。 - 热更新的代码需要使用ILRuntime提供的跨域适配器进行映射。 - 热更新的类型需要手动注册。 - 热更新代码的编译和打包需要使用ILRuntime提供的工具。 - 加载热更新资源时需要注意依赖关系。 希望这个教程对你有所帮助。如果还有问题,请随时提出。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值