diff --git a/Plugins/AssetUsageDetector/Editor/AssetUsageDetector.cs b/Plugins/AssetUsageDetector/Editor/AssetUsageDetector.cs
index aad9e57..15028d7 100644
--- a/Plugins/AssetUsageDetector/Editor/AssetUsageDetector.cs
+++ b/Plugins/AssetUsageDetector/Editor/AssetUsageDetector.cs
@@ -549,9 +549,28 @@ public SearchResult Run( Parameters searchParameters )
{
StringBuilder sb = new StringBuilder( objectsToSearchSet.Count * 50 + callStack.Count * 50 + 500 );
sb.AppendLine( "AssetUsageDetector Error:" ).AppendLine().Append( e ).AppendLine();
+
+ Object latestUnityObjectInCallStack = null;
if( callStack.Count > 0 )
{
sb.AppendLine( "Stack contents: " );
+
+ for( int i = callStack.Count - 1; i >= 0; i-- )
+ {
+ latestUnityObjectInCallStack = callStack[i] as Object;
+ if( latestUnityObjectInCallStack )
+ {
+ if( !AssetDatabase.Contains( latestUnityObjectInCallStack ) )
+ {
+ string scenePath = AssetDatabase.GetAssetOrScenePath( latestUnityObjectInCallStack );
+ if( !string.IsNullOrEmpty( scenePath ) && SceneManager.GetSceneByPath( scenePath ).IsValid() )
+ sb.Append( "Scene: " ).AppendLine( scenePath );
+ }
+
+ break;
+ }
+ }
+
for( int i = callStack.Count - 1; i >= 0; i-- )
{
sb.Append( i ).Append( ": " );
@@ -575,7 +594,7 @@ public SearchResult Run( Parameters searchParameters )
sb.Append( obj.name ).Append( " (" ).Append( obj.GetType() ).AppendLine( ")" );
}
- Debug.LogError( sb.ToString() );
+ Debug.LogError( sb.ToString(), latestUnityObjectInCallStack );
try
{
diff --git a/Plugins/AssetUsageDetector/Editor/AssetUsageDetectorWindow.cs b/Plugins/AssetUsageDetector/Editor/AssetUsageDetectorWindow.cs
index 01e6169..4598384 100644
--- a/Plugins/AssetUsageDetector/Editor/AssetUsageDetectorWindow.cs
+++ b/Plugins/AssetUsageDetector/Editor/AssetUsageDetectorWindow.cs
@@ -193,7 +193,7 @@ private static void CallSearchSelectedAssetReferencesWithChildrenOnce()
private static void ShowAndSearchInternal( IEnumerable