Second player haves a first person camera

Ok, after a lot of weeks asking and getting helped with the lantern system (Thanks @thompsonn13, you’re the best) and now, configuring one of the hardest parts of the game developing (LAN multiplayer) I have some problems.

So, I have 2 players with differents play styles: One is the lantern man, who haves a lantern and try to hit the ghost with it. And the other player is the ghost, who going to be visible for self, but temporary invisible (But working) for the lanterman. I have configured the LAN system, now I can host a game and im the Ghost (and sets into Player Controller 0) and when I join on the game im the Lanterman (sets into Player controller 1).

The problem is: When I join with to the server, the second player camera is broken.

Here is how the camera looks like for the Player Controller 0 guy:

And this is how looks like for the Player Controller 1 guy:
For some reasons, haves a first person camera.

I’ve tried to configure all: I’ve added a cameraActor to the level and set it to automatically set to player controller 1, but still doesn’t work. The default level pawn is the Ghost and the gamemode is the default.

I have searched a lot of information on this anwserhub and I’ve have some theories:

  • The auto player activation on camera only sets when the player is the default pawn.
  • I should make separated gamemodes? One for each character. (I don’t known how.)
  • I don’t should to make different player controllers?

Also tried the blueprint method for set it a static camera, but still doesn’t work.
I’ve tried to make this blueprint to the level blueprint and works for the first character when I set the player controller to 0, but doesn’t work for the second character.

How player 1 camera works? you need to do exact same thing for 2nd controller. Dont use level blueprint for common gameplay related thing or else you will need to duplicate same code for every level. Set it up inside GameMOde or PlayerController

This is the actual level blueprint:
I can’t set up this BP inside GameMode or PlayerController because I can’t drag the camera actor inside it.

I have cloned the level blueprint and changed the Get Player Controller numbers to 1, but still doesn’t working.

Also, if you’re referencing Player Controller 1 from clientside, you’ll come up empty, because although the server has player controller 0 and playercontroller 1, client only has its own playercontroller 0 which is NOT the same playercontroller as playercontroller 0 on the server.

Server and Client don’t know about each other’s playercontrollers.

I didn’t see your code yet but if you assign a camera to playercontroller 1 on the client when the client only has one playercontroller, then you are assigning to a player which doesn’t exist, and it will be blank.

Ok, I’ve fixed this yesterday by the dirty way, I’ve put a delay between Get All Actors and set view with (I don’t remembrer) because the Player Controller 1 on the first frames have the configured camera but after 1 sec gets the first person camera, but if I put a delay of 1 sec, I can replace that first person camera.

Now Im still interested on your comment, I want really to known how to asign things to PlayerController 1 and can exitsts on the client, because I’ve added a Touch Interface in game, one for every player but only the Player Controller 0 can move the Joystik and when Player Controller 1 joins the Player Controller 0 moves the other player with that Joystik.

First gamepad to be plugged in goes to player controller 0 (although project settings can make that different), but if you’re running two instances of the game on the same computer, then it usually goes to the player 0 of whichever window has focus.