[UE5.2]Why is DefaultSubobject the same pointer in all components?

I have an EnemyCharacter with an EnemyComponent. EnemyComponent has Attributes.

In the constructor, I have

this->Attributes = CreateDefaultSubobject< UEnemyAttributes >(FName(“Attributes”));

Attributes pointer is the same in all EnemyComponents. The EnemyComponents are all different pointers in each enemy. But they all point to the same attributes.

I have a Tower Defense game and when a turret shoots an enemy, it changes the attributes of all the enemies because it’s the same pointer.

Why are the Attributes’ pointers all the same?

Try using DefaultToInstructed like the UCLASS meta-designator in ActorComponent.