VR Debug Plugin 1.5


Hi, I am currently working on a plugin for making debugging in VR a bit easier for developers. Being a VR developer myself since more or less 4 years I have come to make a mental list of things that I would love to have in a tool for debugging faster in VR. This is true for all platforms obviously but it’s even truer for platforms such as GearVR, Oculus Quest and Oculus Go.

[FONT=roboto-thin]1.5 Improvements and Changes

  • [FONT=roboto-thin]Level blueprint is listed as an actor inside the actor inspector and the actor functions widget.
  • [FONT=roboto-thin]Fully implemented reflection library.
  • [FONT=roboto-thin]Modified reflection library for 4.25 forward compatibility.
  • [FONT=roboto-thin]Actor functions module can now run functions with parameters.
  • [FONT=roboto-thin]Improved performance on the Oculus Quest and Oculus Go.
  • [FONT=roboto-thin]If commands list INI file doesn’t exist a default one gets auto-generated.
  • [FONT=roboto-thin]Updated written and video documentation.[FONT=roboto-thin]​

1.5 bug fixes

  • [FONT=roboto-thin]Fixed scaling VR debug widgets. Scaling was broken when looking in certain directions.
  • [FONT=roboto-thin]Actor functions module cleans the parameter list when selecting a new function.

VR Debug Plugin Features

  • Actor Inspector Module
  • Console Command Module
  • Movements Module
  • Output Log Module
  • Blueprint Log** Module**
  • Take Screenshots
  • Undo Commands
  • Run Function** Module**
  • Load Levels Module

Suggestions and feedback

  • What would you like to see implemented?
  • Is there anything implemented so far you’d do differently?

Any kind of suggestion and feedback is really appreciated.

Have a great day VR Devs :D:cool::cool::smiley:

I have an example of pulling the output log and rendering it to a texture if its useful to you. Also has text injection for direct typing into the console with a VR keyboard.

Hi mordentral,

I really haven’t even started to think about how that would work, to be honest, but I would definitely appreciate taking a look at your solution to starting getting an idea about an approach I could take.

Just so you know I’m planning to release the plugin on the marketplace eventually so I would appreciate looking at your output log implementation as long as you are ok with it.
Also, great job on your open-source plugins they both look great.

I made it briefly to help people out, never merged it into a full package though with a widget, about time someone did something like that fully.

It registers a listener to the output log (they specifically have a good latch point for the output log), you can skip all of the texture rendering stuff and just add the text to a widget list or something that you prefer so all of your sorting and filtering can work.
The only reason for the texture rendering in the first place is because direct rendering is the only pathway into the console itself so I chose to present both with the same method.

Source files:…LogComponent.h…gComponent.cpp

Hey great thanks, I will most likely go with what you mentioned and just add text to a widget scroll box inside a vertical box so that I can easily do filtering and sorting. Will give some update on the state of the plugin as I make progress. Have a great day :cool:

In my output log actor I have physical scroll bars that you can grab and move, might be something to consider as it is pretty interactive like that.

I will have a look at that and thanks again for sharing :D.

I was initially considering physical handles pretty much the way I did it for the resize and move but then I thought that I would try to make it all working more naturally and within the widget itself, that’s why I created my own scroll box to use the left mouse button to perform the drag and scroll.

It works pretty well when you want to scroll in one direction, it becomes a bit more complicated when I have two scroll boxes stacked on top of each other so to allow vertical and horizontal scrolling at the same time. I really like this solution so I may explore a way of allowing both at the same time in the same scroll box (no idea if even possible). If that turns out not to work I will try to go for physical scroll bars and see how it feels.