ExistentDebugPanelComponent
(3D UI Widget)
Overview
The ExistentDebugPanelComponent is designed to enhance debugging capabilities by providing an interactive 3D UI widget in the world that facilitates real-time monitoring and interaction with various aspects of the VR application, making it a versatile tool for developers. It is enabled when the Backstage Mode is enabled.
Key Features
Interactive in-world Debug Panel: Facilitates interaction with UI widgets in VR, enabling pressing buttons and executing actions directly from the debug panel.
Log Message Display: Captures and displays log messages within the VR environment, allowing for immediate access to important debugging information.
Dynamic Content Handling: Supports dynamic addition of buttons and widgets based on runtime conditions, such as available vehicles and spaces in the level.
Page Navigation: Provides functionality to navigate through log messages and other dynamically generated content pages, enhancing the usability of the debug panel.
Customizable Appearance: Offers several properties to customise the appearance of the debug panel, including text colour, font size, and padding.
Direct Vehicle and Space Interaction: Enables direct interaction with vehicles and spaces within the VR environment, supporting actions like vehicle reset, and player teleportation to different spaces.
Implementation Details
Log Interception: Utilises a custom log interceptor to capture log messages from the Unreal Engine logging system and display them within the VR debug panel.
Networking Support: Includes server-side functions to ensure actions triggered from the debug panel are executed properly in a networked environment.
UI Widget Class Configuration: Requires specific UI widget classes to be set up in advance (e.g., UExistentDebugPanelWidget, UExistentVehicleWidget) to ensure proper functionality of the component.
Event Binding: Binds various UI events (e.g., button clicks) to component functions for handling user interactions within the debug panel.
How to use
You need to enable Backstage mode through RealityBridge or Inspection Panel GUI window.
The ExistentPlayer class already has a DebugPanelComponent attached to the PlayerBody component.
Debugging and Testing: During development, attach the ExistentDebugPanelComponent to your player pawn (ExistentPlayer already uses this component) to facilitate real-time debugging and interaction. It can be used to monitor log messages, test vehicle actions, or switch spaces without leaving the VR environment.
Development Tools: Use the debug panel as an in-game tool to dynamically alter game states, trigger events, or visualise system statuses directly within the VR experience, streamlining the development and testing process.
Setup: Ensure the WidgetClass property of the component is set to the widget blueprint of your choice. Existent uses the WBP_DebugPanel by default.
Custom Actions: In the future ,we plan to allow Implementing custom functions to handle different interactions.
Networking: For networked applications, ensure that actions requiring synchronisation across clients (e.g., vehicle actions) are implemented using server-side RPCs.
Additional Details
Last updated