@@ -21,6 +21,7 @@ public static class ManageScene
2121 /// </summary>
2222 public static object HandleCommand ( JObject @params )
2323 {
24+ try { McpLog . Info ( "[ManageScene] HandleCommand: start" , always : false ) ; } catch { }
2425 string action = @params [ "action" ] ? . ToString ( ) . ToLower ( ) ;
2526 string name = @params [ "name" ] ? . ToString ( ) ;
2627 string path = @params [ "path" ] ? . ToString ( ) ; // Relative to Assets/
@@ -76,6 +77,7 @@ public static object HandleCommand(JObject @params)
7677 }
7778
7879 // Route action
80+ try { McpLog . Info ( $ "[ManageScene] Route action='{ action } ' name='{ name } ' path='{ path } ' buildIndex={ ( buildIndex . HasValue ? buildIndex . Value . ToString ( ) : "null" ) } ", always : false ) ; } catch { }
7981 switch ( action )
8082 {
8183 case "create" :
@@ -98,9 +100,15 @@ public static object HandleCommand(JObject @params)
98100 // Save current scene, optionally to a new path
99101 return SaveScene ( fullPath , relativePath ) ;
100102 case "get_hierarchy" :
101- return GetSceneHierarchy ( ) ;
103+ try { McpLog . Info ( "[ManageScene] get_hierarchy: entering" , always : false ) ; } catch { }
104+ var gh = GetSceneHierarchy ( ) ;
105+ try { McpLog . Info ( "[ManageScene] get_hierarchy: exiting" , always : false ) ; } catch { }
106+ return gh ;
102107 case "get_active" :
103- return GetActiveSceneInfo ( ) ;
108+ try { McpLog . Info ( "[ManageScene] get_active: entering" , always : false ) ; } catch { }
109+ var ga = GetActiveSceneInfo ( ) ;
110+ try { McpLog . Info ( "[ManageScene] get_active: exiting" , always : false ) ; } catch { }
111+ return ga ;
104112 case "get_build_settings" :
105113 return GetBuildSettingsScenes ( ) ;
106114 // Add cases for modifying build settings, additive loading, unloading etc.
@@ -294,7 +302,9 @@ private static object GetActiveSceneInfo()
294302 {
295303 try
296304 {
305+ try { McpLog . Info ( "[ManageScene] get_active: querying EditorSceneManager.GetActiveScene" , always : false ) ; } catch { }
297306 Scene activeScene = EditorSceneManager . GetActiveScene ( ) ;
307+ try { McpLog . Info ( $ "[ManageScene] get_active: got scene valid={ activeScene . IsValid ( ) } loaded={ activeScene . isLoaded } name='{ activeScene . name } '", always : false ) ; } catch { }
298308 if ( ! activeScene . IsValid ( ) )
299309 {
300310 return Response . Error ( "No active scene found." ) ;
@@ -314,6 +324,7 @@ private static object GetActiveSceneInfo()
314324 }
315325 catch ( Exception e )
316326 {
327+ try { McpLog . Error ( $ "[ManageScene] get_active: exception { e . Message } ") ; } catch { }
317328 return Response . Error ( $ "Error getting active scene info: { e . Message } ") ;
318329 }
319330 }
@@ -348,24 +359,31 @@ private static object GetSceneHierarchy()
348359 {
349360 try
350361 {
362+ try { McpLog . Info ( "[ManageScene] get_hierarchy: querying EditorSceneManager.GetActiveScene" , always : false ) ; } catch { }
351363 Scene activeScene = EditorSceneManager . GetActiveScene ( ) ;
364+ try { McpLog . Info ( $ "[ManageScene] get_hierarchy: got scene valid={ activeScene . IsValid ( ) } loaded={ activeScene . isLoaded } name='{ activeScene . name } '", always : false ) ; } catch { }
352365 if ( ! activeScene . IsValid ( ) || ! activeScene . isLoaded )
353366 {
354367 return Response . Error (
355368 "No valid and loaded scene is active to get hierarchy from."
356369 ) ;
357370 }
358371
372+ try { McpLog . Info ( "[ManageScene] get_hierarchy: fetching root objects" , always : false ) ; } catch { }
359373 GameObject [ ] rootObjects = activeScene . GetRootGameObjects ( ) ;
374+ try { McpLog . Info ( $ "[ManageScene] get_hierarchy: rootCount={ rootObjects ? . Length ?? 0 } ", always : false ) ; } catch { }
360375 var hierarchy = rootObjects . Select ( go => GetGameObjectDataRecursive ( go ) ) . ToList ( ) ;
361376
362- return Response . Success (
377+ var resp = Response . Success (
363378 $ "Retrieved hierarchy for scene '{ activeScene . name } '.",
364379 hierarchy
365380 ) ;
381+ try { McpLog . Info ( "[ManageScene] get_hierarchy: success" , always : false ) ; } catch { }
382+ return resp ;
366383 }
367384 catch ( Exception e )
368385 {
386+ try { McpLog . Error ( $ "[ManageScene] get_hierarchy: exception { e . Message } ") ; } catch { }
369387 return Response . Error ( $ "Error getting scene hierarchy: { e . Message } ") ;
370388 }
371389 }
0 commit comments