# Input management for networking: PlayerPawn or PlayerController

**URL:** <https://forums.unrealengine.com/t/input-management-for-networking-playerpawn-or-playercontroller/92083>\
**Category:** C++\
**Tags:** unreal-engine\
**Created:** [May 14, 2017, 12:15pm UTC](https://forums.unrealengine.com/t/input-management-for-networking-playerpawn-or-playercontroller/92083 "2017-05-14T12:15:10Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Roi\_Danton](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Roi\_Danton](https://forums.unrealengine.com/u/Roi_Danton)\
**Post date:** [May 14, 2017, 12:15pm UTC](https://forums.unrealengine.com/t/input-management-for-networking-playerpawn-or-playercontroller/92083/1 "2017-05-14T12:15:10Z")

</div>

In official tutorials, input handling happens in the player pawn:

- [https://docs.unrealengine.com/latest/INT/Programming/Tutorials/PlayerCamera/3/](https://docs.unrealengine.com/latest/INT/Programming/Tutorials/PlayerCamera/3/)
- [Input in Unreal Engine | Unreal Engine 5.3 Documentation](https://docs.unrealengine.com/latest/INT/Gameplay/Input/)

[The answer here summarizes](https://answers.unrealengine.com/questions/120399/how-to-handle-input-from-playercontroller-instead.html), why it is better to use player controller for managing input

> [@](#):
>
> the design intent behind the Pawn is to be the physical representation of a controlled object, while the PlayerController is intended to represent the Player’s will …] input deals with player intent, not physical motion, so I want to wrap the input handling in a PlayerController class while delegating the actual implementation of the result to the Pawn class

Now my question: When having networking in mind, is it better to rely on player pawn or the player controller for input (the server representation of each should not handle input, shouldn’t it?). And if I should prefer one over the other, why I should do that?

---

<div class="post-metadata">

**Author:** ![Jambax](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/jambax/32/904177_2.png) [@Jambax](https://forums.unrealengine.com/u/Jambax)\
**Post date:** [May 14, 2017, 3:31pm UTC](https://forums.unrealengine.com/t/input-management-for-networking-playerpawn-or-playercontroller/92083/2 "2017-05-14T15:31:47Z")

</div>

Setup input in the pawn. Pawns might handle input differently. Hard to make that work if you route everything via a player controller.

If there are persistent inputs, like typing into chat or showing a scoreboard, put those in the player controller.
