SAV Debug Console provides an easy-to-use in app debug console to capture runtime Debug.Log and Logcat message output. Works with AR and VR for a live debug console. Works with Quest 2 and Quest 3!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 sceneSAV Debug Console Meta Quest Family works with passthroughCapture Logcat outputShow log error details, or only the log messageScrollable windowColored text entries for faster error detection (Unity logging only)Entries are date and time stampedSmall or large console display modeSet background opacity for solid or see-thru or any color in betweenSet text size and colorLight weight and fastEasy to use and customizeSupports Windows, Android and IOSSupports OVRCameraRigInteraction, OVRInteractionComprehensive and Building blocksUnity version 2021.3.29f1 or later is required to use SAV Debug ConsoleMeta 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 SDKOptional Meta XR SDKs:Meta XR Interaction SDKSAV Debug Console QuickStart:Meta Quest Family Only:For Controllers only:Search for and drag the SAVDebugConsoleForQuest prefab into the hierarchy.Assign the controller buttons to the SAVDebugConsoleForQuest button actions.Reference: Packages\SAVDebugConsole\Scenes\SampleScene_Quest.For Controller/Hand Interactactables only:Setup interactors and interactactables and controllers (see below: Setup interactors and interactactables and controllers)Search for and drag the SAVDebugConsoleForQuest_Interactable prefab into the hierarchyOptional, Assign the controller buttons to the SAVDebugConsoleForQuest button actions.Reference: Packages\SAVDebugConsole\Scenes\SampleScene_Quest_Interactable.Position the SAVDebugConsole game object in view of the OVRCameraRigIf 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 runMeta Quest OVR Virtual Keyboard or System Keyboard:Search the hierarchy for OVRCameraRigSystem KeyboardIn OVRManager script->General->Requires System KeyboardCheck for system keyboardIn SAVInputField->InputFieldWithStringFormat_Quest->OVR Virtual Keyboard, Set OVRVirtualKeyboard to NoneUncheck for OVRVirtualKeyboardOVRVirtualKeyboardDisable System Keyboard (see above)In OVRManager script->General->Virtual Keyboard SupportChoose Supported or RequiredDrag your OVRVirtualKeyboard to SAVInputField->InputFieldWithStringFormat_Quest->OVR Virtual KeyboardAll others (Windows/IOS/Android/Web):During the asset import process, uncheck DebugConsoleManagerForQuest and uncheck DebugConsoleSettingsForQuest and DebugConsoleManagerForQuestInteractableSearch for and drag the SAVDebugConsole_Other prefab into the hierarchyDrag a camera into SAVDebugConsole > DebugConsoleManager > DebugConsoleCanvas > Canvas Component > Event CameraOr Change the Canvas Component to your needsFor keyboard control, assign the Keycodes to the SAVDebugConsole keyboard actions.Position the SAVDebugConsole game object in view of the CameraPlay and/or Build and runReference: Packages\SAVDebugConsole\Scenes\SampleScene.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 startupPosition the debug window relative to the TrackingSpace CenterEyeAnchor (not the scene's position)Tracking On Off - Control button to turn on/off trackingSize Big Small - Control button to grow/shrink heightList Detail On Off - Control button to show/hide error detailsList Scroll Up - Control button to scroll up listList Scroll Down - Control button to scroll down listList Clear - Control button to clear listSetting for Keyboards:Size Big Small - Keycode to grow/shrink heightList Detail On Off - Keycode to show/hide error detailsList Scroll Up - Keycode to scroll up listList Scroll Down - Keycode to scroll down listList Clear - Keycode to clear listLogcat (android only):Locate the DebugConsoleManager in the hierarchy or active sceneIf the DebugConsoleManager_LogCatProvider script is not attached to the DebugConsoleManagerSearch 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)) scriptOptional, Add a Log Cat ArgumentsExample 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 iconenter filter characters in text fielddisplay indicates found entry countclick the magnifying glass icon again to close and clear the filterSAV 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 100Increasing this value will potentially increase memory and decrease speed.Max Log Characters: Log messages larger than this value will be truncated with "...".Defualt 1024Increasing this value will potentially increase memory and decrease speed.Max Stack Characters: Stack Traces larger than this value will be truncated with "..."Defualt 1024Increasing this value will potentially increase memory and decrease speed.Optional Settings DebugConsoleManager > DebugConsoleCanvas:The recommended way to change the size is the Transform Scale for SAVDebugConsoleForQuest_Interactable / SAVDebugConsoleForQuest / SAVDebugConsole_Other.Width: Set the SAVDebugConsole widthHeight: Set the SAVDebugConsole heightImage > Color: Set the SAVDebugConsole background colorChanging SAV Debug Console default message text display attributes:Search for the ConsoleLogStack prefab (Packages\SAVDebugConsole\Prefabs\ConsoleLogStack)Search for the ConsoleLogMessage prefab (Packages\SAVDebugConsole\Prefabs\ConsoleLogMessage)And/OrText > Font: Set SAV Debug Console default message text fontText > Size: Set SAV Debug Console default message text sizeText > Color: Set SAV Debug Console default message text colorBoth Keyboards show upSee https://developer.oculus.com/documentation/unity/VK-unity-overview/**On the Oculus menu, go to Tools > Update AndroidManifest.xmlSet visibility of [BuildingBlock] Virtual Keyboard to false in hierarchyUncheck CameraRig->General->Requires System KeyboardIn SAVInputField->InputFieldWithStringFormat_Quest->OVR Virtual Keyboard. Set OVRVirtualKeyboard to NoneNo keyboards show upUse a short trigger pull on the InputFieldSee https://developer.oculus.com/documentation/unity/VK-unity-overview/**On the Oculus menu, go to Tools > Update AndroidManifest.xmlSet visibility of [BuildingBlock] Virtual Keyboard to true in hierarchy.Drag virtual keyboard into SAVInputField->InputFieldWithStringFormat_Quest->OVR Virtual KeyboardOR Check CameraRig->General->Requires System KeyboardSetup interactors and interactactables and controllers:* Some links may be out of date. Meta Quest features, recommended practices and documentation change frequently.Building Blocks Only:1) Drag in a Camera Rig2) Drag in Hand TrackingOptional:4) Drag in Controller TackingOVRCameraRigInteraction:“Getting Started with Interaction SDK”:Reference: https://developer.oculus.com/documentation/unity/unity-isdk-getting-started/Create a Pointable Canvas Module:1. Under Hierarchy, add an empty GameObject named CanvasModule by right-clicking in the hierarchy and selecting Create Empty.2. Under Inspector, add a Pointable Canvas Module by clicking the Add Component button and searching for Pointable Canvas Module.Reference: https: //developer.oculus.com/documentation/unity/unity-isdk-create-ui/#choose-a-ui-typeRayInteractor 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:RayInteractor2a. Choose the Hand/Controller RayInteractor and update the Max Ray Length property.And/Or2b. Move the Transform Position Z closer to the CameraRig for the SAVDebugConsoleForQuest_Interactable / SAVDebugConsoleForQuest / SAVDebugConsole_Other gameobjects.