I personally would put anything that is connected to the character on the character.
Like health, stamina …
Anything that only the player has but should be able to communicate with other players (multiplayer) on the PlayerState (which is also just an actor so you can just make components for that as well so that you don’t overload on class)
Stuff like Level, XP (but that only counts if your other npc can’t level, otherwise they obviously should be on the character as well)
Things that are only for one player, his private data I would put on the player controller since that is not shared over multiplayer.
e.g. The inventory should maybe not be shared.