Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags
(+1)

Cam you share about your porting process? Did you simply switch the build target and it was good to go, or did you have to remove features like lighting and use performance systems like occlusion culling? Are you managing both build targets somehow or just switching and hoping that nothing breaks in the process? Thanks for any insight.

(+3)

Hey there. The simple answer is I simply switched the build platform and hoped for the best. 

But for a longer answer, I usually target quest so the majority of my development had that in mind. Some of the key considerations I had are making sure the meshes are as low as possible as Quest has some kind of rendering cap around 1 million tris/polys. With that in mind, the models I sourced had to be in the 10's of thousands or low 100's of thousand depending on their importance, then anything I made was super low poly with small 3 or 5 segment bevels to give the illustration of realism. 

For textures, I went through each file and set the max res as low as possible, usually with the non base texture files (e.g. normals, height, occlusion) being much more compressed, around the 256 mark. But it's all a balance about finding a happy low point that still looks good. Non of the textures are greater than 4K, most in 1K-2K mark. What I haven't done but, possibly could do to improve performance on mobile, is specifically reduce the resolution further on some textures just for android.

Then regarding lighting, mobile headsets tend not to like anything more than 1 directional realtime light. Therefore each of the memory / white void scenes have 1 directional realtime light only and using a non lit white shader for the background. For the livingroom scene(s). These are lit from emission materials from the two light bulbs and three baked area lights (one outside each window and a small one behind the interior door). Then the whole livingroom was baked with no realtime lighting. The quality was set to high quality compression. I lucked out slightly that this high quality compression played nicely on the quest 2, otherwise I'd have to reduce that compression quality. I also added a load of light probes around the box area to light the non static interactable objects, along with a reflection probe.

So all in all, it was a little bit of educated luck I would say. Setting everything up with that in mind helped the port work well, but I for sure could have spent more time optimising the quest build 

(+1)

Thank you for the thorough response. It's great to get insight on how these things are done. Whenever I see Unity reprocessing a million things, I'm just certain that something will break. These are great tips to keep in mind if I dare to build for both platforms on the next jam. Appreciate it! I'll be playing the jam games soon and I'll pay closer attention to the items you've mentioned. :) 

(+1)

Thank you for taking the time to write this great response!