Check on my GameLogic

Hello everyone,

New to Blueprinting, so I wanted to check and learn if my logic on how I want to create my game makes sense.

In short: I would like to create a hybrid between RPG/RTS. To keep it brief: the player can harvest items with the main character (RPG-Third Person Camera) and switch to an RTS camera to assign NPCs to do the harvesting for him(AOE-style). Later I want to upscale this to building a village and for the player (Thirdperson camera) the possibility to explore and have dialogues with NPC’s.

What I have currently: I have a working switch between the camera’s and can harvest items (https://twitter.com/LinoDriegheArt/status/1329533556016754695) but atm. I did not pay too much attention to the logic of having a controller and or pawn/character class.

So at first, I was thinking about the following logic:
A general controller to change the views and separate controllers to control the RPG character, the NPC’s and RTS functionalities. The problem (if that is a problem?) is that I want to do some Harvesting with all three controllers. I can make references to the harvest class for all of them but there might be a better way to handle this? I do like that, with the three separate controller classes, the keyboard and mouse controls are nicely organized

To give you an idea; this is the Harvesting code. So in each controller, after a mouseclick (RTSCamera_CONTROLLER), keyboard input (ThirPersonCamera_CONTROLLER) and the NPC_CONTROLLER, I would call the ApplyDamage event:

So I’m having a couple of doubts here:

-Where would be the best BP to handle the resources? All three controllers harvest, so the logic is to organize the resources in the main upmost controller?

-The Player character will have a lot of similarities in tasks to the NPC’s (workers), maybe there is a better way to organize this?

-I do know that I don’t want multiplayer sessions but I work with a MyCharacter_BP because I would like to destroy it when I switch to the RTS-view.

Any help or remarks on this logic is highly appreciated!

Thank you in advance,
Lino