Editor plugin edit Asset Components

Hello,

I m trying to write a tool to help our artists mass edit some Blueprint Assets in the editor. I have created a very basic plugin (Editor Standalone Window) and I figured out how to get a list of all my asset in a specific folder, but I m stuck when it gets to editing components in those assets.

Here is my code so far :

FAssetRegistryModule& AssetRegistryModule = FModuleManager::LoadModuleChecked<FAssetRegistryModule>("AssetRegistry");
	TArray<FAssetData> AssetData;
	FARFilter Filter;
	Filter.ClassNames.Add(UBlueprint::StaticClass()->GetFName());
	Filter.bRecursivePaths = true;
	Filter.bRecursiveClasses = true;
	Filter.PackagePaths.Add(FName(*SubPath));
	bool isSuccess = AssetRegistryModule.Get().GetAssets(Filter, AssetData);
	UE_LOG(LogTemp, Display, TEXT("Search success : %s"), (isSuccess ? TEXT("True") : TEXT("False")));
	for (FAssetData asset : AssetData)
	{ 
		UBlueprint* assetBP = Cast<UBlueprint>(asset.GetAsset());
		if (assetBP->GeneratedClass->IsChildOf(AActor::StaticClass()))
		{
			TSubclassOf<AActor> actorClass = *assetBP->GeneratedClass;
			if (actorClass != nullptr)
			{
				AActor* actor = actorClass->GetDefaultObject<AActor>();
				if (actor != nullptr)
				{
					UE_LOG(LogTemp, Display, TEXT("actor OK %s"), *actor->GetFullName());
					TArray<UActorComponent *> children = actor->GetComponentsByClass(UActorComponent::StaticClass());
					UE_LOG(LogTemp, Display, TEXT("Children %i"), children.Num());
				}

			}
		}
	}

This give me a proper list of assets but actor->GetComponentsByClass always gives me an empty array, I also tried to get actor->RootComponent but it is always null.

The assets I m trying to load are Actors with a bunch of USceneComponent in it and some UStaticMeshComponent attached to those. My ultimate goal is to edit some values in the rendering of those static mesh.

(Sorry if I m unclear English is not my native language).