(Oculus Quest) Performance problem came to me too early

Hi, I finished learning the basics of Unreal Engine for VR and started making a game for Oculus Quest. I really wanna stick with Oculus Quest because I like the idea of the standalone device and much less competition compared to the desktop VR store.

But the performance issue came to me as a bummer too early. I finished a basic weapon system and placed 50 mannequins in the game with a ‘running’ animation and basic UE4 mannequin mesh. And it’s already unable to play.

Can someone give me some advice on the performance issue? What helped you or what can cause the problem the most in your experiences? Thanks in advance.

My current game setup

  • 50 mannequins with basic animation / UE4 starter-kit mesh
  • They’re Characters (not pawn)
  • big one navigation volume
  • Using AIMoveTo (not on every tick)
  • one direction light (removing the light didn’t change much)
  • Big plain space with some cube objects
  • Can shoot an arrow as a projectile and hit on enemy mesh’s sockets
  • Not using ragdoll nor simulated physics

Just out of interest, are the mannequins all doing the same thing, or are they all independent?

Hi, from the oculus site

60 FPS required, 72 FPS if your app can support it
50-100 draw calls per frame
~50,000-100,000 triangles or vertices per frame

Of course there will be other things as well, but from your setup:

The default mannequin has no lods and 41,000 triangles each. So with only 2 of them you would hit the performance limit, 50 is not realistic. Choose a mesh that has way less triangles and use lods to further reduce the triangle count at a distance. Further only use meshes that have only one material to reduce draw calls. Further with 50 movable skeletal meshes alone you will hit the draw call limit, regardless how much you optimize.

So all in all, it seems to me that the game you currently envision will not run on an oculus quest.


Generally:

(1) Never developed for mobile, but it seems that you need to use the mobile renderer.
oculus quick start guide with oculus quest and ue4 https://developer.oculus.com/documentation/unreal/unreal-quick-start-guide-quest/

(2) static lightning only, no dynamic lights

(3) keep shader complexity as low as possible, so use unlit materials wherever possible

(4) keep vertex count and draw calls as low as possible

(5) use precomputed visibility if possible

Currently they’re just chasing me.

Hi, @chrudimer Thanks a lot for your great tips.
I’ll try everything you suggested here.
And yes, I was trying to reproduce the big war battle scene as you noticed. I guess I will have to change some initial ideas. Thanks again!