Many times in my code I have to use the asset name or path, such as:
if (ItemAssetName.IsEmpty())
{
const UClass* InClass = Cast<UClass>(this);
if (InClass && InClass->ClassGeneratedBy)
{
// this UObject was generated by another class, use the generator to identify
// the source asset:
ItemAssetName = InClass->ClassGeneratedBy->GetName();
}
else
{
ItemAssetName = GetName();
}
}
Notably, all of the classes and UObjects return FString for these names and paths. Is there a reason these aren’t FName and is it safe to convert them to FName?