'Player Character' does not inherit from 'Player Controller' (Cast to PlayerCharacter would always fail)

Characters and Controllers are two different things. Characters are the pawns in the level. Controllers possess characters to bind them to input. Without knowing anything more about what you’re doing, I’m guessing that the blueprint you renamed wasn’t actually the character, rather the controller.

I’m attempting to use the Animation Starter Pack character blueprint in my game, and while setting up the respawn event, my cast to PlayerCharacter (the blueprint has been renamed to PlayerCharacter) gets this warning and always fails.

‘Player Character’ does not inherit from ‘Player Controller’.

Without any additional code, the blueprint works fine. It receives input, it jumps, crouches, etc. I don’t understand why it’s doing this. I’ve run into it before and gave up after comparing this blueprints components with both the Third Person templates character and the FPS Template, and they seem to have the same CharacterMovement (inherited) component and their parent class is “Character”.

I’ve Googled, and I can’t seem to find anything that explains the inheritance. Tips? TIA

That worked. Is it possible for you to tell me the difference between the ThirdPersonCharacter and the Ue4 Character blueprint that didn’t allow a simple cast? Most tutorials just say using GetPlayerController → Cast to Character.

There are no controllers to rename. The blueprint class itself is a child of Character.