I’d suggest you optimize your interaction system first. As is you’re having to cast to each thing you interact with to some level. That’s adding a hard reference to your character class.
Here’s a tutorial I did a year ago. It’s a 4 part teaching series aimed at beginner and intermediate devs. It is Multiplayer (dedicated server), but can easily be converted to Listen or even Single player.
Advanced version heavily leans into BP Interfaces, so no hard references to anything and it utilizes Gameplay tags for Interaction type and item identifiers. Calls specialized functions to handle Client or Server handling.
Character class implementation


