When building our app (for Oculus Quest) using the split application binary option, Unity produces a .apk file around ~45 MB and a much larger .obb file. Depending on the number of scenes included in the build, the .obb file size will increase above 2.0 GB, which means the build will fail.
In our optimal scenario, we would just be able to increase this size limit and our problem would be solved (the Oculus store, where we are shipping the project, allows .obb files up to 4GB). However, realizing that this isn’t possible, we are trying to replicate the functionality of the “split application binary” function using AssetBundles.
Unfortunately, our first attempts at this, in which we included only some scenes in the asset bundle, have resulted in some seriously strange performance issues. Upon loading in a scene kept in the asset bundle, the framerate tanks from 72FPS to ~20 FPS, and we are seeing numerous flickering graphical glitches.
I’m at a bit of a loss trying to figure out exactly what is causing these glitches - the device doesn’t report unusual GPU or CPU utilization numbers, nor does the Unity profiler when attaching to the device.
In another attempt to solve the issue, we put every scene other than the first scene into the asset bundle, akin to what the “split application binary” option does. However right off the bat this doesn’t seem to match the built-in option, since the resulting .apk is ~800 MB vs the ~45 MB. Additionally, it causes more errors as the game seems not to be able to find script assets needed to create objects in subsequently loaded scenes.
Any ideas what could be happening here and how to most closely replicate the built-in functionality while bypassing the 2GB limit? Any help would be much appreciated!