Fair enough I guess worst case you could take a look at the TopDown Template, or make a fake character that just so happens to communicate with and manage the other characters, but on to the issue at hand.
I might be blind right now
but where is the InputComponent
that you are using on the line:
if (UEnhancedInputComponent* EnhancedInputComponent = CastChecked<UEnhancedInputComponent>(InputComponent))
defined or assigned to? is this supposed to be an editor assignment, or is this a member in another class?