First off I’ll say that I love your game, it’s a lot of fun and well polished.
Anyways by just looking at the tutorial pop-up boxes, if your game uses those kinds of UI images often then I see why it’d be so heavy. Is there a way to render those images physically (and having the player’s camera move to the physical example in game) instead of using an image? It’s a hassle, I know, but using your existing meshes would be really easy on your performance.
Also sharing what your dev stats say could give us a bit more direction. It’s hard for me to say though as I’m not an expert, and I urge other devs to pitch in
Do the particle emitters delete themselves after they’ve been used?
I had a problem in my game before where the particle emitters were still turned on, even though they weren’t visible.
Which resulted in heavy performance drops about 800mb in texture uses after firing a few magazines out of a gun in my game.
Another thing you’ll want to look at is the immense detail in the mountains.
He’s good on the MeshParts considering GraphicsMeshParts is at 0.878 and Instances is at 5.823. Hell even your PhysicsParts and GraphicsPart are low, please send my compliments to your builder for such an optimized yet well looking build.
But your texture memory is waaay more than I thought, my goodness. Do your meshes use any textures than can be replaced by VertexPainting or just redundant textures that Part color would otherwise replace? Have you tried just taking out some heavier images and running a stress test, at least so you’re not shooting in the dark.
If you need resources for stress testing other platforms that you don’t have access to, there are Dev Rel team members that can help you
As for textures, I tried to avoid it on all possible parts. Most locations have no more then 30 or so objects with textures, and almost all of them share the same image, which is what confuses me so much.
The img shown was from the hub location, but even it only has about 50 meshes that actually have textures.