How to debug packaged oculus go game from UE4?
Hi,
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'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 ..
