Find the UBlueprint which generated a UClass?

template<typename T>
T* GetCDOfromBP(UBlueprint* Blueprint)
{
	if (Blueprint==nullptr)
	{
		return nullptr;
	}

	const UClass* BlueprintClass = Blueprint->GeneratedClass;

	return Cast<T>(BlueprintClass->ClassDefaultObject);
}
UBlueprint* GetBPfromCDO(UObject* OBJ)
{
	UBlueprint* BP = nullptr;

	if (OBJ != nullptr)
	{
		BP = Cast<UBlueprint>(OBJ);

		if (BP == nullptr)
		{
			BP = Cast<UBlueprint>(OBJ->GetClass()->ClassGeneratedBy);
		}
	}

	return BP;
}
3 Likes