I’m working on a little hobby project where a VR player should have a different pawn than a non-VR player. I’m doing this all entirely in blueprint.
I have this working locally with game mode by overriding SpawnDefaultPawnFor and doing a switch on GetHMDDeviceName. Based on if a HMD is present or not I spawn the appropriate pawn.
The problem I encounter is with multiplayer (not dedicated server). In my tests the “server” is the computer with the HMD. It spawns the correct pawn and the player uses the VR character.
Unfortunately when the non-VR player connects it spawns them in as the VR pawn as well, instead of the non-VR pawn.
Pretty sure I am missing something basic/fundamental to cause this. I am assuming as the “server” is seeing and HMD present so the connecting client “sees” it as well. Could that be the cause?
Rather than spawn a different pawn based on HMD presence is it possible to do so just based on if the player is a remote client? In my use case the VR player will always be the server, so anyone connecting remotely is the non-VR player.