ActorComponent inheritance used inside another inheritance structure - problem

Hello everyone,

I’m currently working on one of my RPG games and I have encountered the following problem.

In the link down below you’ll see my inheritance structure for both Character system and CharacterStatComponents system and also my problem.

The way I initialize my components is:

  1. In ABaseCharacter, I’ll initialize UBaseCharacterStatsComponent;
  2. APlayerCharacter → UPlayerCharacterStatsComponent;
  3. ABaseEnemyCharacter → UBaseEnemyCharacterStatsComponent;

The problem:

Whenever I spawn my BP_Zombie, which is parented by ABaseEnemyCharacter class, I’ll have:

  1. 1 Base Character State Component;
  2. 2 Core Attributes Components;
  3. 1 Base Enemy Character Stats Component (this is ok).

(see 3rd photo)

The way I want for this to behave is that in my upmost child class, in whatever context, I want to have only my upmost character stat component in the ActorComponents list.

For example: With the above information, for my BP_Zombie, I want to have, in my ActorComponents list, only BaseEnemyCharacterStatsComponent, and in the Details Panel of BaseEnemyCharacterStatsComponent, I want it to have the other data that is coming up the hierarchy (so in this context, Base Character Stats and Core Attribute Components (see last photo in the imgur link, that’s the desired output).

Is what I’m trying to do even possible given my current architecture?

I have found a sort of a workaround but it’s definitely not feasible moving forward (I’m declaring in ABaseEnemyCharacter class the UBaseEnemyCharacterStatsComponent and so this way, I only get BaseCharacterStatsComponent and Core Attributes Component in my ActorComponents list).

Everything is done in C++, no BP logic.