如何优化Unity发布iOS编译出来的Framework文件过大问题

1)如何优化Unity发布iOS编译出来的Framework文件过大问题
2)Scriptable Build Pipeline打包Scritptable Object报错
3)APK在OPPO上报编译错误
4)如何在Sequence中模拟我的蓝图


这是第385篇UWA技术知识分享的推送,精选了UWA社区的热门话题,涵盖了UWA问答、社区帖子等技术知识点,助力大家更全面地掌握和学习。

Memory

Q:最近项目是Unity和iOS混合开发,在Unity导出Xcode工程后,编译出Framework集成到iOS主工程里面,在Framework将近90兆,设置代码裁剪和IL2CPP代码成Smaller后能减少十几兆,后面实在优化不下去了,包里也没有资源文件。请问大家一般是怎么减小生成的Framework大小呢?一般导出的Framework都是多大的呢?

欢迎有经验的朋友转至社区交流:
UWA问答 | 游戏开发者互动问答社区 | 侑虎科技


AssetBundle

Q:1. 发生了什么?

给定一个自定义可编写脚本的对象,它有一个类似于MyScriptableObject m_RefObject的字段,创建3个名为A、B、C的对象。

C引用B、B引用A,使用SBP CompatibilityBuildPipeline.BuildAssetBundles将3个资产构建为单独的捆绑包。

加载捆绑包A、B、C,加载资产A、B、C。A和B加载成功,而加载C失败,导致警告"The referenced script on this Behaviour (Game Object '') is missing!'' 并返回 null。

切换到UnityEditor.BuildPipeline.BuildAssetBundles,A、B、C 均加载成功。

2. 如何使用所附示例重现它?

打开示例场景并单击"播放",控制台将显示资源加载失败,所有行为均在Entry.cs内。

使用版本:
com.unity.scriptablebuildpipeline: 1.20.2/ 1.21.9
Unity 2021.3.25f1

有没有人遇到过这个问题,怎么解决?

A:官方回复:MonoScript Bundle是一个特殊的Bundle,它只包含脚本汇编/类型数据。我们在Addressables中使用它来帮助解决像这样的一些构建依赖问题。如果您只使用ScriptableBuildPipeline而不使用Addressables,那么仍然可以这样做。有一个BuildTask包含在SBP中,叫做CreateMonoScriptBundle,您可以将其添加到构建任务列表。

如果您只使用CompatibilityBuildPipeline,那么您将无法修改构建任务。如果这是您的用例,它是否与本机AssetBundle构建管道(BuildPipeline.BuildAssetBundles)一起工作?除非你有理由使用CompatibilityBuildPipeline API,否则我可能会建议你尝试一下,看看它是否适合你。

感谢打包仔@UWA问答社区提供了回答


Lua

Q:Unity版本2021.3.9f1,插件使用xLua,游戏项目使用Lua语言编写,打出来的APK包,可以安装到小米手机正常,安装到模拟器正常,但是安装到OPPO Reno手机出现编译错误:
xLua exception : error loading module TestLua from CustomLoader, TestLua.lua:1: syntax error near 'Found'

欢迎有经验的朋友转至社区交流:
UWA问答 | 游戏开发者互动问答社区 | 侑虎科技


Sequence

Q:制作了一个BP蓝图,里面实现了简单的灯光运动的效果。我想在Sequence中也能够模拟这个蓝图实现的效果,但是在Sequence里播放时是无法模拟蓝图的效果的。请问这个要如何解决呢?

A:总体的思路是把蓝图要实现的功能写到一个Function里,将其命名为SETdoSomething,并给这个Function一个输入(任意类型,比如Boolean)。这个Function需要开启Call In Editor。之后写一个doSomething的变量,类型与Function的输入保持一致(案例中为Boolean),该变量开启Expose to Cinematics和小眼睛(Instance Editable)。之后在Track里就可以找到这个Do Something,将其用于关键帧,当它为true时就会调用Function,即实现了Sequence中蓝图功能的模拟。

欢迎有经验的朋友转至社区交流:
UWA问答 | 游戏开发者互动问答社区 | 侑虎科技

封面图来源于网络


今天的分享就到这里。生有涯而知无涯,在漫漫的开发周期中,我们遇到的问题只是冰山一角,UWA社区愿伴你同行,一起探索分享。欢迎更多的开发者加入UWA社区。

UWA官网:www.uwa4d.com
UWA社区:community.uwa4d.com

相关推荐
向宇it10 小时前
【unity小技巧】unity 什么是反射?反射的作用?反射的使用场景?反射的缺点?常用的反射操作?反射常见示例
开发语言·游戏·unity·c#·游戏引擎
Heaphaestus,RC11 小时前
【Unity3D】获取 GameObject 的完整层级结构
unity·c#
芋芋qwq11 小时前
Unity UI射线检测 道具拖拽
ui·unity·游戏引擎
比格丽巴格丽抱11 小时前
flutter项目苹果编译运行打包上线
flutter·ios
tealcwu12 小时前
【Unity服务】关于Unity LevelPlay的基本情况
unity·游戏引擎
网络安全-老纪12 小时前
iOS应用网络安全之HTTPS
web安全·ios·https
大眼睛姑娘14 小时前
Unity3d场景童话梦幻卡通Q版城镇建筑植物山石3D模型游戏美术素材
unity·游戏美术
1024小神15 小时前
tauri2.0版本开发苹果ios和安卓android应用,环境搭建和最后编译为apk
android·ios·tauri
lzhdim16 小时前
iPhone 17 Air看点汇总:薄至6mm 刷新苹果轻薄纪录
ios·iphone
安和昂16 小时前
【iOS】知乎日报第四周总结
ios