See AssetDefinition.h for more info.
Basically a UAssetDefinition represents an top level asset in the editor.
You can edit how its viewed and what actions they have (see UAssetDefinition_BlueprintGeneratedClass for a good example).
Make custom class
Mandatory
- Make a subclass of
UAssetDefinitionor another subclass (E.g:UAssetDefinition_ClassTypeBase) - Override
GetAssetClassand return the class you want to support. - Override
GetAssetDisplayName,GetAssetColor(andOpenAssetsif you aren’t sub classingUAssetDefinitionDefault)
Then you can override other functions depending on your needs, like GetThumbnailBrush or GetIconBrush.
Custom icon in Content Browser ? → Override GetThumbnailBrush and GetIconBrush (latter can just call GetThumbnailBrush, same params). See this for an example of storing the slate brush with texture.