Issues with Oculus Debugger for VS Code
Hello all, I've been trying to get debug attachment to running process on headset for two days now. I normally use Rider but I had installed and setup VSCode to use the Oculus Debugger. I however was not able to attach a running instance on headset. I get an error where the Oculus Plugin doesn't download the LLDB files Here is the Log. Create debug adapter with configuration: {"name":"Oculus (Development) Attach","request":"attach","type":"fb-lldb","android":{"application":{"package":"com.example.project","activity":"com.epicgames.unreal.GameActivity"},"lldbConfig":{"librarySearchPaths":["\\\"C:/PROJECT/Binaries/Android/Symbols_arm64\\\""],"lldbPreTargetCreateCommands":["command script import \\\"C:/PROJECT/Engine/Extras/LLDBDataFormatters/UEDataFormatters_2ByteChars.py\\\""],"lldbPostTargetCreateCommands":["process handle --pass true --stop false --notify true SIGILL"]}},"__configurationTarget":5,"terminateCommands":[]} C:\Users\User\.oculus_debugger_runtime Exists! C:\Users\User\.oculus_debugger_runtime Exists! Previous download directory exists, removing C:\Users\User\.oculus_debugger_runtime\lldb Previous download directory exists, removing C:\Users\User\.oculus_debugger_runtime\debugcito Exception: Error: Can't download LLDB: invalid content length Stack trace: {Error: Can't download LLDB: invalid content length at c:\Users\User\.vscode\extensions\oculus.oculus-vscode-debugger-1.0.8\dist\extension.js:17:39876 at new Promise (<anonymous>) at c:\Users\User\.vscode\extensions\oculus.oculus-vscode-debugger-1.0.8\dist\extension.js:17:39747 at process.processTicksAndRejections (node:internal/process/task_queues:105:5) at async Ee._downloadWithProgress (c:\Users\User\.vscode\extensions\oculus.oculus-vscode-debugger-1.0.8\dist\extension.js:17:39572) at async Ee._downloadAndInstallWithProgress (c:\Users\User\.vscode\extensions\oculus.oculus-vscode-debugger-1.0.8\dist\extension.js:17:39295)} Exception: Error: Can't download Oculus Runtime: invalid content length Stack trace: {Error: Can't download Oculus Runtime: invalid content length at c:\Users\User\.vscode\extensions\oculus.oculus-vscode-debugger-1.0.8\dist\extension.js:17:39876 at new Promise (<anonymous>) at c:\Users\User\.vscode\extensions\oculus.oculus-vscode-debugger-1.0.8\dist\extension.js:17:39747 at process.processTicksAndRejections (node:internal/process/task_queues:105:5) at async Ee._downloadWithProgress (c:\Users\User\.vscode\extensions\oculus.oculus-vscode-debugger-1.0.8\dist\extension.js:17:39572) at async Ee._downloadAndInstallWithProgress (c:\Users\User\.vscode\extensions\oculus.oculus-vscode-debugger-1.0.8\dist\extension.js:17:39295)} After this I gave up so I tried installing lldb-server manually onto the headset and was able to get the server running and connect to it via VSCode running using my own launch commands. I got pretty close but I wasn't able to properly attach with permissions of the running game. Instead it was default attaching to a 0 stub process. If anyone can figure out how I can actually hit break points in C++ on the running process of the headset. I've verified that the apk I side loaded is debugable and everything seems fine. Setting up a working system like this seems like undocumented territory.Solved105Views0likes1CommentUnreal Entitlement on second Play in Editor (PIE) Skipped
I created a Rift application on the Oculus Dashboard for debugging. The first time I launch a PIE instance the entitlement will succeed and I can perform a request, such as getting all of the friends; however, once I stop the first PIE instance and launch a new one I get a warning and I cannot perform a Platform SDK request. LogOnlineEntitlement: Warning: Oculus: Oculus platform service not available. Skipping entitlement check. If I restart the editor and launch a new PIE instance, it will succeed. UE 4.24.3584Views0likes0CommentsCan't get console to show up in the project running on Go. Is it even possible?
Back in my Gear VR days, I would always use bluetooth keyboard to pull console down and do "stat startfile" to better understand the bottlenecks (or where new version of UE4 has issues). Tried doing the same last night with my UE4 project on Go and I couldn't :( UE 4.22 p3 performance is a way worse than 4.21.2 on Go and I fail to figure out why (and Epic doesn't care to look at my project - they always want free QA done by devs) I paired my bluetooth keyboard to Go and it seems to be working fine (at least Esc key works). However, pressing a key that is bound to console does nothing. Therefore I can't do "stat startfile" (or any stat cmds for that matter) :( Has another had such issue (console not working) ? Thanks beforehand956Views0likes2CommentsHow 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 ..2.1KViews0likes3Comments