How to make UProperty of class refrence members editable in Editor


I have controller class thats too big and need to break it up into say four areas of activity
My solution is four UObject classes whose pointer is declared in the main controller and initialised in main controller ctor.

But now that i have had to break up the Uproperties in the main controller into four other classes, how is it possible for me to edit this values in Blueprint editor by hand like i used to.

It was easy when all uproperty were in same class, but now i only have a pointer to were the property actually is.

Of course i could add Ufunction to my c++ that returns values needed at run time.

But am looking for an editor solution where i can just set the values by hand.

As example of my problem

class MainController{

	UPROPERTY(EditAnywhere, Category = "NPC Data")
	UC_SubController* pSubController;

      UPROPERTY(EditAnywhere, Category = "NPC Data")
       FName  ActorBBKeyName

This in editor will only allow me to edit were UC_SubController pointer points , but not the properties i have inside UC_SubController. On other hand no problem to edit property thats not a refrence like ActorBBKeyName

So any ideas as to how to get around this problem.

I would like to be able to break up mainconller without looisng the ability to open maincontroller and edit properties in all four sub controllers.

I have also tried making SubController classes blueprint and Seting the pointer using TSubClassOf in MainCOntroller BP, but still am only editing pointer