Generating blueprint programmatically

Hey ttvd, I am trying to use this method but I keep getting a “Cast of Package /Engine/Transient to Level failed” error.

Would you mind taking a look?

FString NameStr = "/Game/Blueprint";
UPackage* myPackage = CreatePackage(NULL, *NameStr);
AMyClass* testActor = ConstructObject<AMyClass>(AMyClass::StaticClass());
UBlueprint* NewBlueprint = FKismetEditorUtilities::CreateBlueprintFromActor(FName("MyBP"), myPackage, testActor, false);
FAssetRegistryModule::AssetCreated(NewBlueprint);
NewBlueprint->MarkPackageDirty();
myPackage->SetDirtyFlag(true);
testActor->Destroy();

Thanks in advance!