[VRChat] Portals to Other Worlds: A Front Door Isn't a Hallway

Created: 2026-09-09

Placing an entrance to another world with VRC Portal Marker. Covers why it can't move people within the same world, and building the TeleportTo version for that case.

You want people to go straight from your world to a friend's. Or you want an entrance to the second world in a series.

VRChat has a mechanism called a portal — an entrance that moves you to that world when you touch it.

But it can't be used to move around inside the same world. Mixing that up wastes time. This article covers the difference between the two kinds of movement and how to build each.

An entrance to another world standing at the back of a room

What You'll Learn

  • When to use a portal versus a teleport
  • How to place a VRC Portal Marker
  • How to get a world ID
  • How to move within the same world

Start from having finished your first world.

Sponsored


A portal is a front door; a teleport is a hallway

Both are "movement," and they're completely different mechanisms.

A portal leaves the house; a teleport moves within it
PortalTeleport
DestinationAnother worldInside the same world
As an analogyThe front doorA hallway
What it needsVRC Portal MarkerUdon code
How it moves youReloads the worldChanges position on the spot
Other peopleDon't come with youOnly you move

A portal is the act of leaving the house. It reloads the world, so you part ways with whoever you were with.

A teleport is moving inside the house. Your position changes instantly and you stay in the same instance.

If what you want is "an alternative to stairs to the second floor," that's a teleport, not a portal. Specifying your own world ID won't take you to another spot in the same room — it puts you into a different instance.

Sponsored

Hands-On: Place an entrance to another world

Build an entrance in one corner of your room that leads to another world.

Approaching the swirl inside a gateway

1. Find the destination world's ID

First you need the destination world's ID.

Open that world's page on the VRChat site and the URL contains a long string starting with wrld_.

wrld_00000000-0000-0000-0000-000000000000

That's the world ID. To point at another of your own worlds, select VRCWorld in that project's scene and look at the Blueprint ID in Pipeline Manager.

Make the destination a world other people can enter. Left private, visitors get turned away.

2. Place the portal

Create ExitPortal with "Create Empty" and put it near a wall, around (0, 0, 5).

Add VRC Portal Marker via "Add Component."

FieldWhat to put in
Room IdThe wrld_... string you found
NameThe name shown above the portal (e.g. To the second world)

Put it at floor height. A portal rises upward from the position you specify, so placing it in the air leaves it floating.

3. Make it read as a gateway

VRChat draws the portal itself, so you can't change that. You can change the impression by building around it.

Aligned with ExitPortal's position, place the following.

NameHow to make it
PortalFrameThree Cubes combined into a gateway arch
PortalSignA World Space Canvas with TextMeshPro. A description of the destination above the gateway

One line of explanation is a kindness. Just knowing "going through here leaves this room" cuts down on people wandering in by accident.

4. Confirm

Portals can't be checked in Play mode. You have to upload and look inside VRChat.

Upload, enter, and check the following.

CheckExpected result
Is the portal standingA swirling entrance is visible at the gateway's position
Is the name showingThe name you set is displayed
Approach itThe destination's world name and thumbnail appear
Enter itYou move to that world

If approaching shows something like "Invalid," the ID is wrong. Copy it again from the URL.

Within the same world, use a teleport

Going up to the second floor, entering a hidden room, returning to the start. Movement within the same world is written in Udon.

Only the presser moves to another location in the same world

You use TeleportTo().

using UdonSharp;
using UnityEngine;
using VRC.SDKBase;

[UdonBehaviourSyncMode(BehaviourSyncMode.None)]
public class TeleportPad : UdonSharpBehaviour
{
    [SerializeField] private Transform destination;

    public override void Interact()
    {
        VRCPlayerApi player = Networking.LocalPlayer;
        if (!Utilities.IsValid(player) || destination == null) return;

        // Only the presser moves
        player.TeleportTo(destination.position, destination.rotation);

        Debug.Log("[TeleportPad] moved");
    }
}

You pass two things: position and facing. The simplest approach is putting one empty object at the destination and assigning its Transform.

Being able to pass the facing matters. Landing while facing a wall confuses people for a moment. Rotate the destination's empty object toward what you want them to see.

Only the presser moves. Everyone else stays where they are. To move everyone, have them all run it via network events.

This one can be checked in Play mode, unlike a portal, because no world reload happens.

Sponsored

Common Pitfalls

  • The portal doesn't appear → It isn't displayed in Play mode. Upload and check there
  • It says the portal is invalid → Room Id is misspelled, or the ID itself is wrong. Copy it again from the URL
  • You enter and get turned away → The destination is private. Check that anyone can enter it
  • The portal floats in the air → You placed it too high. Match it to floor height
  • The teleport leaves you facing a wall → Fix the destination object's rotation
  • The teleport does nothing → Destination is None, or there's no Collider so it can't be pressed

Bonus: Good to Know Up Front

  • Don't put it near the entrance: A portal right beside the spawn point means arrivals wander back out. Put it somewhere tucked away, or somewhere its intent is obvious
  • Say that they're leaving: One line reading "this moves you to another world" cuts down accidents
  • Linking your own worlds keeps people circulating: If you're building a series, portals in both directions let people travel back and forth
  • Teleports pair with effects: Darken the screen before moving, play a sound. More natural than switching in an instant
  • It's useful all over: An entrance to a sister world, moving from an event hall to a green room, the next stage of an escape game, an alternative to a long staircase

Summary

There are two kinds of movement, with different tools.

  • A portal is the front door to another world. Put a wrld_ ID into VRC Portal Marker
  • Within the same world, use a teleport — Udon's TeleportTo()
  • Portals can't be checked without uploading
  • A teleport moves only the presser

The question to ask before placing one is: "Is this leaving the house, or moving inside it?" That decides which tool you use.

For a mechanism that returns people who fall, go to recovering from falls. To move everyone together, go to network events.

VRChat Notes in this section63