How to change the editor category of struct properties in an actor in C++?

I have put some of my properties for my actors into structs. In these structs, I can of course set the category for UPROPERTY() members or for the USTRUCT as a whole.

When adding that struct as a member to the actor, I declare it as a UPROPERTY as well and give it a category.

When now adding the actor to the scene, in my details panel only the category set in the Actor’s UPROPERTY macro for the struct are displayed.

Here is a minimal example:

struct code

USTRUCT(BlueprintType, Category="BaseStructProperty")
struct FStructProperties
{
	GENERATED_BODY()
	
public:

	UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = "BaseProperty")
	FString Name;
};

actor code excerpt

public:
	UPROPERTY(EditAnywhere, Category = "Properties")
	FStructProperties properties;

The result in the editor details panel:

279474-categories.jpg

Therefore my question:
How do I get the structs property into the editor? Especially, since I’m planning to use inheritance on the structs and want to visually separate the properties into class related properties.

Alternatively, is there a way to dynamically generate the Category strings?

I don’t think you can use inheritance in UStructs

Shadowriver recommends using UObjects instead here.

I am unsure on how that would look in your editor window however.

Have you considered DataTables?

The inheritance works, I have a BaseProperties struct and a specific ActorStruct and I have access to both structs’ properties in the actor class.

The data table seem to lack any kind of inheritance, which I want to use to save work on maintaining data and keep it consistent between structs for different actors. Plus, I need to edit the properties at runtime, which data tables don’t support at all.