Not quite. The full excerpt is as such.
UObject* Object = Objects[j];
if ( Object->IsA( UBlueprint::StaticClass() ) )
{
UBlueprint* Blueprint = Cast<UBlueprint>( Object );
if( Blueprint->GeneratedClass != NULL )
{
FGatherTextFromObject::Execute(this, Blueprint->GeneratedClass->GetDefaultObject(), Package, bFixBroken);
}
else
{
UE_LOG(LogGatherTextFromAssetsCommandlet, Warning, TEXT("%s - Invalid generated class!"), *Blueprint->GetFullName());
}
}
else if ( Object->IsA( UDataTable::StaticClass() ) )
{
UDataTable* DataTable = Cast<UDataTable>(Object);
FGatherTextFromDataTable::Execute(this, DataTable, Package, bFixBroken);
}
else if( Object->IsA( UDialogueWave::StaticClass() ) )
{
UDialogueWave* DialogueWave = Cast<UDialogueWave>(Object);
ProcessDialogueWave(DialogueWave);
}
FGatherTextFromObject::Execute(this, Object, Package, bFixBroken);
There is specific additional gathering done for blueprints, data tables, and dialogue waves, but regardless, FGatherTextFromObject::Execute
is called at the end of the object iterating loop.
I’m investigating today why it seems that data assets are not being gathered for you.