Hi is there a way to examine a Blueprint asset on disk without loading it? All I need to really know for now is its parent class or Blueprint.
For this, you’d use the same mechanism we use to display info on the assets in the content browser (if you hover over a Blueprint asset, it’ll display the parent class without the Blueprint being loaded).
You do this through the AssetRegisty database, which essentially parses some header data from .uassets without loading the whole file.
Examples of how you can query the AssetRegistry can be seen in BlueprintAutomationTests.cpp. We use the AssetRegistry to enumerate Blueprint specific tests (like in FBlueprintRenameAndCloneTest::GetTests).
The FAssetData struct you get from the AssetRegistry (representing a single asset) has a “TagsAndValues” map. In here you can find specific info that we bake into the asset (intended for display, and querying). The tags you’re most likely interested in are either “ParentClassPackage” or “NativeParentClass”. These are written out from UBlueprint::GetAssetRegistryTags() (a generic UObject function), so you can look there and in super classes to see the kind of info you can parse out.