Showing results for 
Search instead for 
Did you mean: 

How to debug packaged oculus go game from UE4?


I've been developing an oculus go game for some time now and even longer considering it originally started as a rift game .  It's finally come to a point where things are getting serious and the general design is looking to be promising (hopefully).   

Using UE4 I've setup a large open world that streams in level slices.  I've built some test pieces for the world slices that vary in polycount / texture size, number of lods, and even a multi-tiered level for each slice kind of lod in a lod thing. I'm wanting to start profiling performance so that I can come down on which setup is giving the best results but I have no experience debugging a package title.  I'm used to using the console commands for debugging and I have some experience declaring scoped stats in my code blocks. 

The part that I'm confused about is debugging on the oculus go.  Currently my process has been to test as best as I can using PIE,  and mobile preview in ue4. I do some traces and text prints when I package (launch ) to the go but that's it on the device itself. 

Right now I'm running into two problems that I want to solve and I think they require me to up my debugging game.  The first is a level streaming hitch I get upon launch of the game on the go   The game immediately loads you into the world where you last were.  Currently it only loads the distant versions of those level slices in a kind of stylized wire frame mode while the player deals with the menu (continue,  new, etc...).  The ideas being that should they select continue the distant low poly versions swap for the high versions with localized lods  all of which was streaming/ loading in while they were getting situated and navigating the in world menu. The second issue is that I can't get the game to run with EDL "event driven loader" on. 

Now with the first issue I experience a couple hitches while the high version of the level slices is streaming in.  It's my understanding this shouldn't happen as it's supposed to be async. Those pieces are not made visible,  only loaded.  I've been told that there is a console command I could run called stat hitches that should dump to a log file.  This is confusing because I have no keyboard on the oculus go so I don't understand how I would enter this command and where this log file would go.  How are others entering console commands on the oculus go   Do you just sync in a Bluetooth keyboard and type xb1 controller? My oculus go is connected via the micro USB, this is how the game is launched to the go from ue4.  

I've come across the debugging here on the oculus dev section and I don't understand how to setup oculus remote monitor, or ovr metrics tool ,  and gdb debugging - all of which sound great but are very confusing in how to setup.  I tried setting up the first oculus remote monitor.  I was able to get the adb path setup and have it see my connected Go but when I went to create session it did not see a host. 

Today was my first day looking into this and about no progress after a couple hours I decided to instead just cleanup code and tidy up the project so I could feel like I accomplished something. Tomorrow I try again .. 


I solved the EDL issue.  I needed to delete intermediate / saved folder and rebuild the project.  Some bunk files in there or something.  I just purchased a bluetooth keyboard to pair with the go and try to use that for debugging commands.  I was able to pair the keyboard in the oculus app on my phone,  once in the headset it asked me to enter a code and press enter.  I did this and now my app lists the bluetooth keyboard as paired.  Unfortunately I don't think there is any support past this level.  I've noticed that the esc key works in most apps as back.  I'm curious how one would go about adding support in their UE4 game for a bluetooth keyboard - if for no other reason - debugging.  Any ideas?  I feel like I'm going to have to create some hack to get access to console commands in UE4 project.  I plan on trying to get more into the listed performance testing methods listed on the Oculus Dev section.  I really wish there was some more information as the instructions seems to assume I know about wireless network connections and how to port forward.  I feel like I could figure it out but I don't understand why I can't just debug through the USB cable directly.  I'm all for the challenge but it may be helpful for Oculus to remove as many obstacles as possible for us non Software Engineers.  


I am having the same issue with Oculus Remote Monitor not locating any hosts to connect to. Oculus Go is connected via USB. I just made a post about it and then discovered this one. It would be fantastic to get an answer on this.



Thanks for the great feedback here.

I'll pass this along internally for review, however I don't see us offering guidance for third party peripherals such as keyboards, for instance.

I'm all for the challenge but it may be helpful for Oculus to remove as many obstacles as possible for us non Software Engineers.  

Yeah now I feel stupid,  so it appears the Debug log prints through the micro USB from the oculus go back into UE4. It takes a moment before the UE4 connection detatches,  which I always thought was weird but now I realize it's because UE4 is grabbing the log file from the device and bringing it back into UE4 in the "output" window.  So,  if only I was a little more patient, I would have seen the output log.  Problem solved.  Huge facepalm.