Unity2022.3打包Android后从AB包加载场景发现丢失大量脚本问题

发布时间:2024年01月12日

问题

这两天遇到一个问题,在VR项目打包Android的时候,加载场景后,Timeline工作不正常,找不到原因。

现象

看到有很多警告,丢失脚本的Log。
因为场景本身也有一些丢失的脚本所以没在意,但是又不是所有脚本都丢失。至少Timeline在工作。

在这里插入图片描述

在这里插入图片描述
一直以为是Timeline的问题,后来在Timeline激活的某个脚本的Awake上加Log,发现竟然没有输出,那么就是脚本丢失了。

解决

考虑到这里就发现忽视了IL2CPP Stripping Level等级问题。之前项目是Unity的2021,升级到2022后默认选择的Low级别。
在这里插入图片描述
看了2022的帮助文档,Low级别可能会搜索一些用户的未使用的脚本进行删除,所以这就是问题的原因了,选到Minimal就好了。或者使用mono吧。

官方原文
Low : Unity searches some user-written assemblies and all UnityEngine and .NET class libraries for unused code. This setting applies a set of rules that removes some unused code but minimizes the likelihood of unintended consequences, such as changes in behavior of runtime code that uses reflection.

2021的Low就是最低级别,2022之下还有一个Minimal。

当时考虑到是Stripping的问题,但是就是看了下就是Low就没管了,然后看了2021的文档,也没发现问题。2022还是有点区别。

文章来源:https://blog.csdn.net/thinbug/article/details/135551719
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。