Possess works with AIController but not on PC?

I just tested things in a blank project and can confirm at least that you don’t need to call Enable Input. Its a way to give certain actors higher priority, but not in the way I expected so I’ll just consider the posession method from now.

So the NPC actor itself is listening for key input, correct? In a blank project I created a blueprint MyNPC inheriting from Character and didn’t change any defaults. I possess an instance of MyNPC after play has begun (and its not the default Pawn class). After possession, it receives the inputs (keys, action mappings) without problems. Here is the event graph for MyNPC, so possession exactly like you do:
input1.png

I’m not sure why it doesn’t work for you. The only things I can think of right now, and sorry if I’m repeating anything too much:

  • Your PlayerController blueprint is listening for the same input*
  • Maybe you’re listening for a key that is actually reserved by the editor, such as the F1-F12 keys?

*For example, if I create a custom PlayerController blueprint and add this:
input1.png
then the input never reaches MyNPC, because it is lower in the priority list.

So I hope this simple example is at least helpful as a reference for what isn’t causing the issue.