How do I interface between my PlayerController BP and my Pawn BP?

I have my player controller BP taking in input, and I have a blueprint based on a Ship class, which inherits from Pawn. I want to receive that controller input and use it to move my pawn either inside its C++ class or its BP. How do I connect the two? I don’t want to embed controls into my pawn BP… that seems so hard-coded and not modular.

Any ideas?

use the node in your blueprint set default controller.

I don’t see that in either my ship (pawn)'s BP or my controller. Where exactly should I find it?

Okay, I can find that. What does this do regarding the interfacing between my custom controller and my pawn BP? What is this ‘default controller’ and what does it do?

ok setup should be (which you have to add to your event graph) EVENT BEGIN PLAY → SPAWN DEFAULT CONTROLLER

Ok lets see is this separate from the normal controller class as in addition to?

if not you can set your player controller in the Game Mode if you have a custom one or check whats being used in the World Settings under Game Mode/Player Controller. Maybe this will help if you haven’t read it already. Controller

If PlayerController possesses Pawn, they keep references to eachother:

  • You can get Pawn from
    PlayerController using “Get Controlled Pawn”
  • You can get PlayerController from
    Pawn using “Get Controller”

It’s just a blueprint of the normal playercontroller.

I have it set as my default controller for the mode, yeah.

The question I’m asking now, I guess, is if the Pawn BP is meant to have the Axis events and what-not, or if they should exist only in the controller and then somehow get passed on to the pawn. That seems more decoupled to me, which is the ideal solution.

This was so long ago - sorry for never marking this as the answer! Ended up using blueprint interfaces ever since.