-
Notifications
You must be signed in to change notification settings - Fork 28
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
addressables和HybridCLR结合使用导致的资源加载错误 #2
Comments
按理说,我这个仓库应该是没有问题的,你可以关注下我的场景加载逻辑:
PS : 谢谢使用或者参考我的开源项目,Cheers~ |
我可能理解了,你可以不要让 可寻址依赖你的热更类型呀,毕竟因果关系都乱了嘛,你可以约定特定的入口 key (string 类型,这种基础数据类型)来初始化热更入口。 还有,描述 remote path 的类型可以不热更哈。 |
热更代码只能用于热更场景吗? |
@jiatengmeng |
@3lxl3 |
遇到同样问题,我加载的是其他工程的catalog文件,官网上的常见问题的解决方法不好使 |
addressables和HybridCLR结合使用导致的资源加载错误 · Issue #2 · Bian-Sh/Assemblies-Hotfix-Toolkit-Unity (github.com)
2.不要用具体类型,用object,可以在LoadAssetAsync出来后强转
我的是用这个办法解决的
***@***.***
发件人: ShenKang4181
发送时间: 2023-06-25 18:32
收件人: Bian-Sh/Assemblies-Hotfix-Toolkit-Unity
抄送: liuxueliang; Mention
主题: Re: [Bian-Sh/Assemblies-Hotfix-Toolkit-Unity] addressables和HybridCLR结合使用导致的资源加载错误 (Issue #2)
遇到同样问题,我加载的是其他工程的catalog文件,官网上的常见问题的解决方法不好使
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you were mentioned.Message ID: ***@***.***>
|
我的不行,可能我加载的是别的工程的catalog,强转之后会报sctipt missing |
这个情况没有遇到过,之前遇到的是 ScriptableObject 加载问题 这个HybridCLR官方关于sctipt missing的问题描述 |
我解决了,我在其他的工程里面新建了一个HotUpdate.asmdef,把相关的脚本放到里面,重新打包就好了 |
答案是明确的,热更代码只能配合ab使用,因为原工程中不会存在这些类型。 |
大佬你好,我采用object加载之后强转的方式拿到的 ScriptableObject类对象时空,单独打印非强转的数据可以打印出来,你知道这种情况是什么原因吗 |
当使用addressables来更新热更新的dll时。由于是先使用了Addressables的LoadAssetAsync函数,导致Addressables需要先进行初始化,此时的初始化中如果资源的类型是在热更新的类型,那么Addressables会认为该资源的类型为System.Object。所以需要先进行dll的加载才能够使用Addressables来加载资源,否则就会报UnityEngine.AddressableAssets.InvalidKeyException: Exception of type 'UnityEngine.AddressableAssets.InvalidKeyException' was thrown. No Asset found with for Key=xxx. Key exists as Type=System.Object, which is not assignable from the requested Type=YourHotUpdateAssetType。
解决思路
1.在结束了dll的加载之后Addressables重新初始化一遍?
2.还是继续使用AssetBundle来加载dll之后再使用Addressables
The text was updated successfully, but these errors were encountered: