# Cannot Control Local 2nd Player (UE5)

**URL:** <https://forums.unrealengine.com/t/cannot-control-local-2nd-player-ue5/751061>\
**Category:** Multiplayer & Networking\
**Tags:** unreal-engine, question\
**Created:** [January 17, 2023, 8:12am UTC](https://forums.unrealengine.com/t/cannot-control-local-2nd-player-ue5/751061 "2023-01-17T08:12:48Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![Saftur](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Saftur](https://forums.unrealengine.com/u/Saftur)\
**Post date:** [January 17, 2023, 8:12am UTC](https://forums.unrealengine.com/t/cannot-control-local-2nd-player-ue5/751061/1 "2023-01-17T08:12:48Z")

</div>

I am attempting to set up local multiplayer in an Unreal project, but no matter what I do, I am unable to control the 2nd player I create.

At the moment, I’m letting Unreal create one player by default, and creating a 2nd player using `Create Local Player` on `Event BeginPlay` in the level blueprint. I’ve tried using a `Controller Id` of 1 and -1 in `Create Local Player`, to no avail. I’ve tried enabling `Skip Assigning Gamepad to Player 1` in project settings, to see if I can at least use keyboard for one and gamepad for the other, but nope, keyboard and gamepad still both control the same player.

I’m using the enhanced input system for detecting input, and as it turns out, the `Enhanced Input Local Player Subsystem` node is only returning a valid object reference for one player. When I check it using `Is Valid`, one player shows `true`, while the other shows `false`. This is causing an error when I try to do `Add Mapping Context` on one of the players.

Am I missing a step somewhere? I’ve tried looking this up, but I’ve found zero relevant information anywhere, be it official docs or elsewhere. And the only videos I can find talk about UE4, and don’t use enhanced input. Am I supposed to create both players myself in the level blueprint in this case? I have no idea how to even prevent Unreal spawning that first player in the first place.

I am currently using Unreal Engine 5.1.0.

---

<div class="post-metadata">

**Author:** ![imblackmagic1](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/imblackmagic1/32/620485_2.png) [@imblackmagic1](https://forums.unrealengine.com/u/imblackmagic1)\
**Post date:** [February 3, 2023, 2:52am UTC](https://forums.unrealengine.com/t/cannot-control-local-2nd-player-ue5/751061/2 "2023-02-03T02:52:58Z")

</div>

this is bugged currently for 5.1 at least, UE-173306 is the bug report i think, as the issue is similar

---

<div class="post-metadata">

**Author:** ![ZPaul2Fresh8](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@ZPaul2Fresh8](https://forums.unrealengine.com/u/ZPaul2Fresh8)\
**Post date:** [February 5, 2024, 2:18am UTC](https://forums.unrealengine.com/t/cannot-control-local-2nd-player-ue5/751061/3 "2024-02-05T02:18:49Z")

</div>

Any update on this? I’m currently on 5.3 and I’m having the same issue. It seems when the initial Player Controller is spawned that is the only one who has a valid ‘Enhanced Input Local Player Subsystem’. I have been pulling my hair out for a few days with this problem and finally found a shred of hope in this thread…

---

<div class="post-metadata">

**Author:** ![Firebugs](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Firebugs](https://forums.unrealengine.com/u/Firebugs)\
**Post date:** [February 17, 2024, 4:07pm UTC](https://forums.unrealengine.com/t/cannot-control-local-2nd-player-ue5/751061/4 "2024-02-17T16:07:53Z")

</div>

I too am experiencing this frustration!

---

<div class="post-metadata">

**Author:** ![Madein1987](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Madein1987](https://forums.unrealengine.com/u/Madein1987)\
**Post date:** [February 17, 2024, 8:01pm UTC](https://forums.unrealengine.com/t/cannot-control-local-2nd-player-ue5/751061/5 "2024-02-17T20:01:13Z")

</div>

Greetings!  
I found a way to make the local multiplayer work. I am on 5.3 and the problem persisted.  
I followed this guide but still it would not work, the 2nd controller does not respond:

[![](https://d3kjluh73b9h9o.cloudfront.net/original/4X/7/5/a/75a13cfbc01296bc5ac47f45f2ae0078b1d703ac.jpeg "UE5.1 & UE5.2 Local Multiplayer Fix/Tips (Gamemode Logic)") ](https://www.youtube.com/watch?v=QSnUqHF6X0M&t=424s)

Now, what I did was the following:  
In the thirdpersoncharacter blueprint, after the Event beginPlay  
node, the next node I put is a Delay node of 0,1 second. And it worked.

 ![image](https://d3kjluh73b9h9o.cloudfront.net/original/4X/9/9/a/99ab4c2b6cf8aa66dffc6141eae030227a810d55.png)

I am not entirely sure why but I think what is happening is that the enhanced input local player subsytem is activating before the other players are created, and thus they receive no mapping context at the time of their creation. With a delay of 0,1 (or any other delay), I think the other players are created first and then given a mapping context.

---

<div class="post-metadata">

**Author:** ![Rev0verDrive](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/rev0verdrive/32/907214_2.png) [@Rev0verDrive](https://forums.unrealengine.com/u/Rev0verDrive)\
**Post date:** [February 18, 2024, 2:02am UTC](https://forums.unrealengine.com/t/cannot-control-local-2nd-player-ue5/751061/6 "2024-02-18T02:02:09Z")

</div>

> [@Madein1987](#):
>
> I am not entirely sure why but I think what is happening is that the enhanced input local player subsytem is activating before the other players are created, and thus they receive no mapping context at the time of their creation. With a delay of 0,1 (or any other delay), I think the other players are created first and then given a mapping context.

This is correct. But you should at a minimum be using loop polling vs adding a delay.

Basically call a function on begin play. Said function set references. If it cannot, then it calls a timer to recall the execution of the function.

---

<div class="post-metadata">

**Author:** ![jbdms](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@jbdms](https://forums.unrealengine.com/u/jbdms)\
**Post date:** [February 8, 2025, 10:49pm UTC](https://forums.unrealengine.com/t/cannot-control-local-2nd-player-ue5/751061/7 "2025-02-08T22:49:12Z")

</div>

I had the same issue on 5.5.1  
The delay didn’t change anything  
The solution I’ve found is the following:

- Place a PlayerStart for each player
- PlayerStart → Input → Auto Receive Input → “Player 0”
- PlayerStart2 → Input → Auto Receive Input → “Player 1”

I don’t know if it is the best solution tho

---

<div class="post-metadata">

**Author:** ![kaykayyali\_BB](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@kaykayyali\_BB](https://forums.unrealengine.com/u/kaykayyali_BB)\
**Post date:** [May 30, 2025, 7:08pm UTC](https://forums.unrealengine.com/t/cannot-control-local-2nd-player-ue5/751061/8 "2025-05-30T19:08:40Z")

</div>

Sharing here, because I couldn’t find a quick answer.

When starting the game, player controllers posses happens before begin play.

During the game, the posses happens after begin play.

So, instead of binding to begin play, bind the Mapping Context onPossess, and all is well in this world.

 ![image](https://d3kjluh73b9h9o.cloudfront.net/original/4X/1/6/d/16da95d8064c9f13e1eea4ff6266ae83e755cdea.png)

---

<div class="post-metadata">

**Author:** ![Rev0verDrive](https://d1ap1mz92jnks1.cloudfront.net/user_avatar/forums.unrealengine.com/rev0verdrive/32/907214_2.png) [@Rev0verDrive](https://forums.unrealengine.com/u/Rev0verDrive)\
**Post date:** [May 31, 2025, 3:57am UTC](https://forums.unrealengine.com/t/cannot-control-local-2nd-player-ue5/751061/9 "2025-05-31T03:57:15Z")

</div>

`Event on Possess` only executes on the Server.

---

<div class="post-metadata">

**Author:** ![pjPaulo7](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@pjPaulo7](https://forums.unrealengine.com/u/pjPaulo7)\
**Post date:** [July 23, 2025, 9:03am UTC](https://forums.unrealengine.com/t/cannot-control-local-2nd-player-ue5/751061/10 "2025-07-23T09:03:52Z")

</div>

That worked 🙂 , Thank you.

---

<div class="post-metadata">

**Author:** ![Chompiemine135](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Chompiemine135](https://forums.unrealengine.com/u/Chompiemine135)\
**Post date:** [January 1, 2026, 3:47pm UTC](https://forums.unrealengine.com/t/cannot-control-local-2nd-player-ue5/751061/11 "2026-01-01T15:47:00Z")

</div>

You are an absolute legend. Thank you so much.

---

<div class="post-metadata">

**Author:** ![jaker3278](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@jaker3278](https://forums.unrealengine.com/u/jaker3278)\
**Post date:** [July 3, 2026, 12:19pm UTC](https://forums.unrealengine.com/t/cannot-control-local-2nd-player-ue5/751061/12 "2026-07-03T12:19:48Z")

</div>

If you are having problems in 5.7.4 then I used “set local player controller ID” to manually set the controllers to the players. It starts at 0 then increment it for the next player. I did this after event possessed and the enhanced input was set and it worked for me.
