diff --git a/Source/Editor/Surface/Archetypes/Animation.MultiBlend.cs b/Source/Editor/Surface/Archetypes/Animation.MultiBlend.cs
index ffb04c6af..294cf8b84 100644
--- a/Source/Editor/Surface/Archetypes/Animation.MultiBlend.cs
+++ b/Source/Editor/Surface/Archetypes/Animation.MultiBlend.cs
@@ -937,6 +937,22 @@ namespace FlaxEditor.Surface.Archetypes
UpdateUI();
}
+
+ ///
+ public override bool Search(string text)
+ {
+ FlaxEngine.Json.JsonSerializer.ParseID(text, out var id);
+ if (id != Guid.Empty)
+ {
+ for (int i = 5; i < Values.Length; i += 2)
+ {
+ if ((Guid)Values[i] == id)
+ return true;
+ }
+ }
+
+ return base.Search(text);
+ }
}
///
diff --git a/Source/Editor/Surface/SurfaceNode.cs b/Source/Editor/Surface/SurfaceNode.cs
index da64fe613..94e1c32b8 100644
--- a/Source/Editor/Surface/SurfaceNode.cs
+++ b/Source/Editor/Surface/SurfaceNode.cs
@@ -862,6 +862,16 @@ namespace FlaxEditor.Surface
}
}
+ ///
+ /// Custom function to check if node matches a given search query.
+ ///
+ /// Text to check.
+ /// True if node contains a given value.
+ public virtual bool Search(string text)
+ {
+ return false;
+ }
+
private string GetTooltip()
{
StringBuilder sb = new StringBuilder();
diff --git a/Source/Editor/Windows/Search/ContentSearchWindow.cs b/Source/Editor/Windows/Search/ContentSearchWindow.cs
index dd506a849..e485fc88c 100644
--- a/Source/Editor/Windows/Search/ContentSearchWindow.cs
+++ b/Source/Editor/Windows/Search/ContentSearchWindow.cs
@@ -617,7 +617,7 @@ namespace FlaxEngine.Windows.Search
}
var nodeSearchText = node.ContentSearchText;
- if (newTreeNodes.Count != 0 || (nodeSearchText != null && IsSearchMatch(ref nodeSearchText)))
+ if (newTreeNodes.Count != 0 || (nodeSearchText != null && IsSearchMatch(ref nodeSearchText)) || node.Search(_searchText))
{
AddAssetSearchResult(ref assetTreeNode, asset);
var nodeTreeNode = new SearchResultTreeNode