Unsure about class functionalitys

Hey guys. I will keep my questions short and ‘simple’ :smiley:

1.) Where do I store all the player data, like the buildings a player owns, his relationships to other players, his combat units and so on? Everything in a player State instance?

2.) How do I handle player interactions with the world? Currently I use the level blueprint, but actually I am more of a programmer than a scripter. Also, some events need to access functions of classes which are not inheriated from any UObject class. Generally I am much much faster and efficient with code than with blueprints, except for some not-so-complex-stuff like the level Movement, which is actually way easyer to implement with blueprints.
But is there a way to write a class, whose functions are calles when a player triggers a certain event?
Like [click callback] → [get clicked actor] → [decide what to do depending on certain circumstances] → do internal game stuff → send feedback to player

If someone could clear things up for me a little bit I would really appreciate that!

Greetings! :slight_smile:

  1. Yes, store it in a PlayerState.
  2. PlayerController should be used to handle user input.