VRPawn Unable to Teleport

VR Teleportation works as intended in the default VR Template level.

When I create a new empty level, and drag the key assets:

  1. NavMeshBoundsVolume
  2. Player Start
  3. Plane (i.e. simple floor StaticMeshActor for player to stand on)

into that empty level, when playing the level through the VR headset, everything works as usual.

However, I now have a level, in which the Teleport doesn’t work.
When pointing around with the motion controller, the trace is projected as usual, but no circular shape is placed on the floor, indicating teleportation is not possible.

After repeating the aforementioned approach (i.e. copy pasting the 3 main components into this level where teleport doesn’t work), teleport still doesn’t work.

I believe the issue may come from certain level default values that I’m unaware of, but am unsure as to how to proceed.

1 Like

It might be collision problem. If the circular shape is not placed on the floor, it might mean that it did not hit any collision. It might be that the setup for collision is set for them to not detect each other or the floor has no colliders.

2 Likes

After some more experimentation to figure out what’s wrong, I observed that my NavMesh would disappear upon play each time.
I then started deleting actors in the scene one by one to determine what was responsible for making the NavMesh disappear.

I then ended up again with basically no actors in my level, other than the plane, the NavMeshBoundsVolume, and some lighting, while the NavMesh would still weirdly enough disappear each time on play.

Ultimately, I simply ended up creating an empty level and copy pasting over every actor from the previous level where the NavMesh disappeared on play, and weirdly enough again, the NavMesh now doesn’t disappear in this new level, and everything works as intended.

Disappearing navmesh, interesting. I was having all sorts of frustrating problems with teleport, in non VR, recently. In C++ there is a TeleportTo which can check to see if there was a collision and so you could check the boolean result and decide whether or not to teleport still, whereas the standard BP will simply move the result to within a RandomNavigableRadiusPoint or something like that if there is a collision at the teleport location. In my case I didn’t want to move somewhere else. I wasn’t using C++ so wasn’t an option.

I had to set up safe teleport zones. Disappearing Navs, hmm. You did well to sort it out.

Teleport need the plane is in static state not removable, check if your plane is not in static state.