SAV Debug Console

 

Download from the Unity Asset store

 

SAV Debug Console is a set of flexible and light weight prefabs that create a runtime debug console display that you can add to almost any Unity application. Capture runtime Debug.Log type messages and Logcat output.

In game/app room scale AR and VR debug console with Interactactables for Quest 2 and Quest 3.

Features:
  • SAV Debug Console can track the Meta Quest Family head set (always in view) or be pinned to any location in a running scene or editor scene
  • SAV Debug Console Meta Quest Family works with passthrough
  • Capture Logcat output
  • Show log error details, or only the log message
  • Scrollable window
  • Colored text entries for faster error detection (Unity logging only)
  • Entries are date and time stamped
  • Small or large console display mode
  • Set background opacity for solid or see-thru or any color in between
  • Set text size and color
  • Light weight and fast
  • Easy to use and modify
  • Supports Windows, Android and IOS
  • Supports OVRCameraRigInteraction, OVRInteractionComprehensive and Building blocks

Unity version 2021.3.29f1 or later is required to use SAV Debug Console

Meta Quest Family Only:
  • * A Pointable Canvas Module is required by SAV Debug Console for Interactions.
  • * Meta Quest features, recommended practices and documentation change frequently.
  • Required Meta XR SDKs:
    • Meta XR Core SDK
  • Optional Meta XR SDKs:
    • Meta XR Interaction SDK

 

 

 

 

We would welcome the donation of development headsets for other platforms so that I can offer a real-time head tracking debug console on every platform. Please e-mail us.

SAV Debug Console QuickStart:

Meta Quest Family Only:

* Some links may be out of date. Meta Quest features, recommended practices and documentation change frequently.

For Controllers only:
  1. Search for and drag the SAVDebugConsoleForQuest prefab into the hierarchy.
  2. Assign the controller buttons to the SAVDebugConsoleForQuest button actions.
  3. Reference: Sample scene Packages\SAVDebugConsole\Scenes\SampleScene_Quest.
For Controller/Hand Interactactables only:
  1. Setup interactors and interactactables and controllers (see below).
  2. Search for and drag the SAVDebugConsoleForQuest_Interactable prefab into the hierarchy.
  3. Optional: Assign the controller buttons to the SAVDebugConsoleForQuest button actions.
  4. Reference: Sample scene Packages\SAVDebugConsole\Scenes\SampleScene_Quest_Interactable.
  • Building Blocks Only:
    1. Drag in a Camera Rig
    2. Drag in Hand Tracking
    3. Optional: Drag in Controller Tacking
Position the SAVDebugConsole game object in view of the OVRCameraRig
     * If using "Track On Start", position the debug window relative to the TrackingSpace CenterEyeAnchor (not the scene's position)
     * Turn off Tracking if you are having trouble seeing the startup location.

Build and run


Meta Quest OVR Virtual Keyboard or System Keyboard:
System Keyboard
    In OVRManager script->General->Requires System Keyboard
    1. Check for system keyboard
    2. In SAVInputField->InputFieldWithStringFormat_Quest->OVR Virtual Keyboard, Set OVRVirtualKeyboard to None
    3. Uncheck for OVRVirtualKeyboard
OVRVirtualKeyboard
    Disable System Keyboard (see above)
    In OVRManager script->General->Virtual Keyboard Support
    1. Choose Supported or Required
    2. Drag your OVRVirtualKeyboard to SAVInputField->InputFieldWithStringFormat_Quest->OVR Virtual Keyboard


All others (Windows/IOS/Android/Web):

1. During the asset import process, uncheck DebugConsoleManagerForQuest and DebugConsoleSettingsForQuest and DebugConsoleManagerForQuestInteractable
     
2. Search for and drag the SAVDebugConsole_Other prefab into the hierarchy
3a. Drag a camera into SAVDebugConsole > DebugConsoleManager > DebugConsoleCanvas > Canvas Component > Event Camera
Or
3b. Change the Canvas Component to your needs
4. For keyboard control, assign the Keycodes to the SAVDebugConsole keyboard actions.
5. Position the SAVDebugConsole game object in view of the Camera
6. Play and/or Build and run
7. Reference: Sample scene Packages\SAVDebugConsole\Scenes\SampleScene_Other.

 

SAV Debug Console Settings:

Show Detail - When selected log message details will be displayed.
Background Color – Allow colored or transparent backgrounds.

Setting for Quest controllers

Track On Start - Default Off. When selected the console will track the Headset/Camera at startup
     * Position the debug window relative to the TrackingSpace CenterEyeAnchor (not the scene's position)
Tracking On Off - Control button to turn on/off tracking
Size Big Small - Control button to grow/shrink height
List Detail On Off - Control button to show/hide error details
List Scroll Up - Control button to scroll up list
List Scroll Down - Control button to scroll down list
List Clear - Control button to clear list

Setting for Keyboards

Size Big Small - Keycode to grow/shrink height
List Detail On Off - Keycode to show/hide error details
List Scroll Up - Keycode to scroll up list
List Scroll Down - Keycode to scroll down list
List Clear - Keycode to clear list

Logcat (android only):

Locate the DebugConsoleManager in the hierarchy or active scene
If the DebugConsoleManager_LogCatProvider script is not attached to the DebugConsoleManager
Search for and drag the DebugConsoleManager_LogCatProvider script on to the DebugConsoleManager
Drag the attached script into the "Log Cat Provider" entry in the DebugConsoleManager(ForQuest(Interactable)) script
Optional, Add a Log Cat Arguments
Example Arguments from Meta (https://developer.oculus.com/documentation/native/android/ts-logcat/)
"-s VrApi,PerformanceManager_ZSF"
*** Caution should be used with the "Log Cat Arguments" values as they are not filtered. If used incorrectly they can cause the system to become unresponsive or unstable.

Filter button (magnifying glass)

Click the magnifying glass icon
Enter filter characters in text field
Display indicates found entry count
Click the magnifying glass icon again to close and clear the filter

 

SAV Debug Console additional help:

Note that there is a transition time on application start where the console is not registered to receive Debug.Log messages. If this is a problem, you will need to delay startup of other assets until the SAV Debug Console is registered.

Optional Settings:
DebugConsoleManager:

Max Console Entries - Max number of SAV Debug Console entry history to keep.
     Default 100.
     Increasing this value will potentially increase memory and decrease speed. **see "maximum display characters" above.
Max Log Characters - Log messages larger than this value will be truncated with "...".
     Default 1024.
     Increasing this value will potentially increase memory and decrease speed.
Max Stack Characters - Stack Traces larger than this value will be truncated with "...".
     Default 1024.
     Increasing this value will potentially increase memory and decrease speed.

DebugConsoleManager > DebugConsoleCanvas:
* The recommended way to change the size is the Transform Scale for SAVDebugConsoleForQuest_Interactable / SAVDebugConsoleForQuest / SAVDebugConsole_Other.

Width: Set the SAVDebugConsole width
Height: Set the SAVDebugConsole height
Image > Color: Set the SAVDebugConsole background color

Changing SAV Debug Console default message text display attributes:
Search for the ConsoleLogMessage prefab (Packages\SAVDebugConsole\Prefabs\ConsoleLogMessage)
And/Or
Search for the ConsoleLogStack prefab (Packages\SAVDebugConsole\Prefabs\ConsoleLogStack)

Text > Font: Set SAV Debug Console default message text font
Text > Size: Set SAV Debug Console default message text size
Text > Color: Set SAV Debug Console default message text color


Both Keyboards show up
See https://developer.oculus.com/documentation/unity/VK-unity-overview/ **On the Oculus menu, go to Tools > Update AndroidManifest.xml
Set visibility of [BuildingBlock] Virtual Keyboard to false in hierarchy
Uncheck CameraRig->General->Requires System Keyboard
Set OVRVirtualKeyboard to None in SAVInputField->InputFieldWithStringFormat_Quest->OVR Virtual Keyboard.

 

No keyboards show up
Use a short trigger pull on the InputField
See https://developer.oculus.com/documentation/unity/VK-unity-overview/ **On the Oculus menu, go to Tools > Update AndroidManifest.xml
Set visibility of [BuildingBlock] Virtual Keyboard to true in hierarchy.
Drag a virtual keyboard into SAVInputField->InputFieldWithStringFormat_Quest->OVR Virtual Keyboard
OR Check CameraRig->General->Requires System Keyboard

 

RayInteractor length:
If you dont see the RayInteractor on SAV Debug Console, one setting to check is the Max Ray Length of the RayInteractor.
Default is 5.
To change it:
1. In the hierarchy search bar enter: t:RayInteractor
2a. Choose the Hand/Controller RayInteractor and update the Max Ray Length property.
And/Or
2b. Move the Transform Position Z closer to the CameraRig for the SAVDebugConsoleForQuest_Interactable / SAVDebugConsoleForQuest / SAVDebugConsole_Other gameobjects.