[VR] Player Start Spawning Player Below Floor

Probably this is not your case, but some time ago, i notice a problem very similar, even with the player start over the terrain, it always spawn under the terrain.
The problem was the sky dome collision ! so removing it the problem disapear.

I have my player start set so that it’s center is at the floor-level. This is so that the head-tracking sets the players head to whatever height the headset is being tracked at.

Since 4.16.2, setting the player start to the floor causes the player to spawn below the floor, regardless of how “Spawn Collision Handling Method” is set.

This did not happen in 4.16.1

Hello XsynthZ,

I have a few questions for you that will help narrow down what issue it is that you are experiencing.

Quick questions:

  1. Can you reproduce this issue in a clean project?
  2. If so, could you provide a detailed list of steps to reproduce this issue on our end?
  3. Could you provide screen shots of any settings/blueprints that may be involved?
  4. Could you try changing your tracking origin via the the “Set Tracking Origin” node?

are you using any child actor components on your pawn?

Yeah, we added the Leap Motion floating hands

I can reproduce this in a clean project.

Here are the steps I followed:

  1. Create a new project in 4.16.2
    using the VR template
  2. Make a new default level
  3. Move the playerstart so the center
    is at the floor
  4. Make a new gamemode base and set the
    default pawn class to
    HMDLocomotionPawn (though I was
    using MotionControllerPawn in my
    other project)
  5. Set the level’s gamemode override to
    the gamemode made earlier
  6. Run VR preview
  7. Voila! You’re under the floor

This was using a completely un-edited HMDLocomotionPawn with “Set Tracking Origin” set to Floor Level.

Hope that helps!

Try deactivating any collisions on those hands. We had similar problems especially with blocking collisions on child actors

1 Like

Thanks for the suggestion, but it still happened in a blank project with the HMDLocomotionPawn and no children so that’s probably not it. It also worked fine prior to 4.16.2 with the same setup.

Hello XsynthZ,

If you are using the HMDLocomotionPawn, you will need to place an instance of it in the level. The “TeleportPin” component is being used to set the location. This means that a player start will be ignored (and that the location given will be (0,0,0)). A quick test to show this would be to delete the “TeleportPin” in the HMDLocomotionPawn. If you do so you will see that the player will now use the player start (if one exists in the level) as it’s new default starting point. I hope that this information helps.

Make it a great day