GAS, A subclass of `UAttributeSet` inherits from its parent class, but the attributes of the subclass cannot be displayed in the GameplayEffect editor.

I inherited from UAttributeSet and created a class called Class A, where I added an attribute “a”. This attribute “a” is visible in the GameplayEffect editor.

However, when I further inherit from Class A to create Class B, the attribute “a” in Class B is not visible in the GameplayEffect editor. The editor only shows the attribute “a” from Class A and does not show the one in Class B.

Why does this happen?

I want to add different child Sets and modify attributes with the same name in different Sets.

I can’t answer “why it happens” besides the regular “epics decided so”.

But i can suggest the workaround, you:

  • either put all attributes into base class A and assign A to everyone who needs them. Some attributes will be unused;
  • or go way of intended modularity - put only attributes that differ from A into B (no inheritance, just composition) and put both A & B on target.

The attribute will show as part of A (because it is), but if your actor has set B, it will correctly set the value there

That’s just normal inheritance