@@ -99,8 +99,15 @@ private static string BufferToString( byte* buffer, uint maxLength )
9999 }
100100
101101 public delegate void DebugUtilsMessengerCallback ( string message , DebugCallbackType type ) ;
102+ public delegate void DebugUtilsErrorCallback ( string message ) ;
102103
103- private static Logger Log = new ( "VR" ) ;
104+ private static Logger Log = new ( "OpenXR" ) ;
105+
106+ private static void XrErrorCallback ( string message )
107+ {
108+ Log . Error ( $ "{ message } " ) ;
109+ Application . Exit ( ) ; // For now
110+ }
104111
105112 private static void XrDebugCallback ( string message , DebugCallbackType type )
106113 {
@@ -143,11 +150,17 @@ internal static void CreateInstance()
143150 if ( ! VRSystem . HasHeadset )
144151 return ;
145152
146- if ( VRSystem . WantsDebug )
153+ // Initialize app config callbacks
147154 {
148- // Set up a debug callback for logging Facepunch.XR messages
149- var pDebugCallback = Marshal . GetFunctionPointerForDelegate < DebugUtilsMessengerCallback > ( XrDebugCallback ) ;
150- ApplicationConfig . SetDebugCallback ( pDebugCallback ) ;
155+ if ( VRSystem . WantsDebug )
156+ {
157+ // Set up a debug callback for logging Facepunch.XR messages
158+ var pDebugCallback = Marshal . GetFunctionPointerForDelegate < DebugUtilsMessengerCallback > ( XrDebugCallback ) ;
159+ ApplicationConfig . SetDebugCallback ( pDebugCallback ) ;
160+ }
161+
162+ var pErrorCallback = Marshal . GetFunctionPointerForDelegate < DebugUtilsErrorCallback > ( XrErrorCallback ) ;
163+ ApplicationConfig . SetErrorCallback ( pErrorCallback ) ;
151164 }
152165
153166 // Create the OpenXR instance
0 commit comments