Configure a List of Blueprints

I have a blueprint BattleUnit that is supposed to store a list of blueprints of type BattleAbility. BattleAbilities are blueprints that store values like type, range and damage. I find myself creating blueprints to configure my abilities, store a list of TSubclassOf in BattleUnit and then executing something like:

UBattleAbility* currentAbility;
for (TSubclassOf currentAbility : TemplateAbilities)
{
	currentAbility= NewObject<UBattleAbility>(this, *currentAbility);
	m_Abilities.Add(currentAbility);
}

Is this the best way to configure my abilities? Is there a better pattern?