Is there a way to find out all of the asset labels attached to objects in my project? The unity UI knows, but I don’t know where that’s stored and it does not seem to be documented.
Bonus points: is there a way to set the contents of the search filter bar from script?
ArkaneX
2
You can get all labels calling internal AssetDatabase.GetAllLabels method via reflection. The internal code might of course change in a future Unity version, but I think it’s highly unlikely. I bet you can fill a search filter using reflection too, but this might be a bit harder.
Code for retrieving all the labels:
var flags = System.Reflection.BindingFlags.Static | System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.InvokeMethod;
var dicLabels = (System.Collections.Generic.Dictionary<string, float>)typeof(AssetDatabase).InvokeMember("GetAllLabels", flags, null, null, null);
foreach (var label in dicLabels.Keys)
{
Debug.Log(label);
}
EDIT: as a side note - this is an editor only script.