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

I added two subclasses that inherit from the same parent class. I want to change the inherited properties for only one of the subclasses.

I tried modifying the engine source code, but found that the reflection system cannot retrieve the required class information. Supporting this would require adding a class selection interface to the editor, and likely modifying a large amount of existing code to avoid breaking current functionality, so I gave up on modifying the engine.

However, I still hope the GAS GameplayEffect editor can directly support inherited AttributeSets. Where should I submit this feature request?