Hi there,
I am Architecting a large WebGL project with 100+ interactive scenes setup as Addressables. To avoid browser memory crashes on low-end devices, which approach is better?
Option A: One single WebGL build player. All 100+ scenes load/unload via Addressables dynamically.
Option B: 5β7 separate WebGL builds.
and i have to integrate these build into website too.
if you properly use addressables and optimize the project, I believe a single build would be better. This is not from WebGL experience, but working with addressables on native builds btw, but I am often working on memory constraint platforms.
This adds 5-7 times the UnityEngine overhead at a minimum, both in terms of memory usage and load time.
Running them simultaneously would be prohibitive due to the severe strain (5-7x) to any computer, let alone low end devices.
Always consider the option of not using a separate (single-loaded) scene for everything.
Instantiating prefabs or additively loading scenes is faster and limits memory usage and spikes.
If for instance these were 100 scenes each showing a real, physical product for a store website Iβd first evaluate the option of merely loading the unique mesh, material, and textures from addressables and if possible, assigning them to the already-existing layout (with MeshFilter and MeshRenderer) if the scene structure remains largely the same (ie a pedestal with orbit camera) and thereβs only a handful of things to be replaced, and consistently (ie not having to have 10+ different code paths).
If the layout changes Iβd use prefabs or additive scene loading if the layout is more complex than can be conveniently edited in the prefab editor.
But i think one build will create dependency problems or maybe act like one point of failure.
Can you specify why?
Are they completely different type of games?
If you can make it in one Unity project and can cleanly scenes in and out, that sounds like a good system.
Just make sure that with any web service, it is not just stored on one server but has redundancy