I got the feedback that my app doesn't run at a consistant 60fps and I'm a bit confused by it. I recorded my game-play for awhile and didn't catch any drops in FPS below 60fps. Are the submission folks testing FPS differently from how we're doing it?
Here's my video showing it in headset using an S7 - which the feedback said it didn't maintain 60fps : https://www.youtube.com/watch?v=CcSAo4n5duM
Pretty much using the networking system that comes with Unity. So I have to:
1. LoadLevelASync and do it there. 2. Insert a wholly cheap and unnecessary fade to black hit the call, then fade back in. 3. Hope the player didn't mind what is essentially a needless state change to handle a small moment of frame drop (like 50ms for a frame).
If it's even that. The submissions team is often tight lipped about it.
Are you using a splash screen at the start of your game? I have a splash screen scene that fades in our company name and I do some sub-system singleton initialization there, along with an async load of our main application scene. If you have some heavy processing that needs to be done in your core scene, you can move those calls to Awake instead of Start. I believe the component lifecycle is such that Awake is processed as part of the async level load if the gameobject is active, while Start is in the first frame the gameobject is active and the scene is displayed. So if you move your network initialization stuff to Awake (if it isn't already), it can happen as part of the Async level load while your initial splash screen is still displayed.
I used http://talesfromtherift.com/vr-splash/ as the basis for my splash/loading scene
I'm aware of how to hide it. I have to do some serious changes to achieve it. There's also other optimizations to make as well. Network initialization also changes based on what the user is selecting. Hosting a lan server opposed to starting an online Matchmaking Lobby - or simply searching/joining games is different pings on the FPS.
I'm curious what libraries other multiplayer games used to avoid the FPS hit from starting it up.