Hi, I am developing a game for oculus quest 2. I am a mid-level developer and I have the following problem: Everything works fine but at some point the baked lighting and the textures started loading at a very low resolution.
I tried migrating everything to a new project
reduced texture size
building everything
closing and opening
increasing streaming textures pool size
and a million other things I saw in youtube tutorials and documentation. Since the problem started two weeks ago I’ve been working on it with no solution.
I understand that it is very difficult to give an answer in this things due to the nature of the engine (where everything is interconnected) so I am asking if someone is an experienced developer for Unreal and quest 2 to see my project file work on it a little bit and find what is going wrong. I’ve already uploaded the project folder in google drive so if someone is interested, please pm me, we will agree on a price and I’ll send him the link
(I’m almost certain the solution is just a push of a button)
It really sounds like streaming pool problems. You can always tell that because everything gets fuzzy and low res. It would also include your lightmaps.
The streaming pool basically doesn’t get flushed during normal editor operation, and PIE.
It only really kicks in when you package. You would need to package with the launcher
I don’t know about 5.3, but previous versions don’t package for shipping correctly, without the launcher.
Yeah I concur, my project wouldn’t package at all using the in-editor basic package route. I had to use the Unreal Frontend launcher without the main editor open at all.
In addition to that for it to work correctly I had to create a new Windows user just for the sole purpose of running game packing. Otherwise it would appear to package but extremely quickly and leave nothing in the destination folder. Not sure why this was the case, but noticed others had the same issue and found this work-around here on DevCommunity.
My working flow is now, Switch user, run Unreal Frontend, Launch…
Packaging engages correctly and working game is produced at the end.
I’ve searched extensively for the streaming pool subject and I couldn’t find some directions about how high you can set it for oculus.
I currently have it at 1000 MB but when i package it , it says in the oculus that pool is over 18.000 Mib budget.
(wouldn’t it say its over 1000 Mib budget?)
The curious thing is that all my textures (57) occupy just 124MB on disk (all of them are 512 or 256 and just 2 are 1024 and the environment hdri which is 4196.
I suspect it doesn’t have to do with textures or the lightmaps but some other setting about streaming.
It’s a very confusing message. 18.000 Mib means 18MB over, so not much.
Another good way to know what is weighing too high is to right-click on the map file and choose ‘size map’. It will give you a breakdown of what’s taking up the most space.
I don’t know how the Oculus works, but somewhere in the pipeline ( on the device, or on your PC ) will be the GPU memory. That’s the max you can set it to.
I did have the fuzzy texture problem before I optimized.
To fix this I reduced the textures from 4k and 2k down to 1k, and things like normal maps and roughness maps to 512, and anything else that wasn’t needed high to 512. Honestly the visual fidelity didn’t really change massively, still looked ok. The performance was huge improvement though and the textures no longer mip mapped down to fuzzy looking.
I used the ‘asset bulk editor’ to make things easier for this conversion.
In a packaged game, the streaming pool can handle everything no problem. But if you have too much loaded, it will spend it’s whole time moving things in and out of the pool.
Project Launch didn’t help.
Honestly, I’m totally burned out. Is there anyone who can take the projecto file and find the problem? I am willing to pay.
Having reduced all my textures I thought I was in the clean. It appears that Just a few trees that I had from Megascans had a bunch of maps with 8196 px maps. I reduced them and everything works fine!
I have two questions if anyone can answer:
Is there some literature on the memory limits for oculus quest 2? I intent to make several games for this platform and I’d like to understand deeper the memory limitations
Is game launcher the only way to be sure that everything has been updated in your editor? I have come to realize that just saving everything is not enough to be sure that everything is updated.
Just wanted to clarify the ‘asset bulk editor’ in my earlier reply is actually called ‘Edit via Property Matrix’.
In case you didn’t know this is a much easier way of managing texture sizes, not only can you see everything but you can edit them in bulk.
To use it select the textures you want to view or edit, and right click > Asset Actions > Edit Via Property Matrix.
Once in there, where it says ‘Maximum Texture Size’ click the small pin symbol.
This will bring up a new channel on the end of the information channels, this is where you can see the texture sizes. They will most likely be set to ‘0’. which means it will use the maximum texture size.
You will want to type in here instead, 512, or 1024, or 2048 etc
Copy and Paste down the channel into all the ones you want to change.
It may lag a little but should update after it does its magic, then save, also will lag a little.
Once saved, everything should be updated. A real time saver and a great tool!