VR Realms
Discord Wishlist

Guides

Scripting API

Tags cover props. When you need behaviour, like a vehicle seat, a lantern on a hand, points for whoever touches the goal, or a monster that hunts, these nodes are how Blueprints reach the players and the room. You never get the player character itself, only a small set of asks. That protects you when we rewrite the player.

How multiplayer works here

A realm is the session you are in: the map, plus everyone in it. One person hosts it. Your Blueprints run on every machine in the realm at once, and the suffix on each node says which copy it acts on.

  • (Local) nodes read this machine’s copy. They are right for remote players too, because what they read is replicated to everyone.
  • (Server) nodes change something everyone sees, and only do anything on the host. An overlap on a trigger fires on the host’s copy for every player who walks in, so most gameplay needs no networking nodes at all.
  • (Anywhere) nodes are the few a client may call directly. Tell Host runs one of your custom events on the host, which is how a button press reaches the Server nodes.

To react to things happening in the realm, add the Realm Events component to any actor: players arriving and leaving, points changing, public chat, channels, the built-in game modes, a clip finishing on a player, and the buttons the player at this machine presses. Every event fires on every machine, except the input one, which stays on the machine where the button is.

Shipping your own Blueprints

Tags and ready-made items cover most props, and they are the better choice where they fit. They are quicker to place, and they keep working when we update the game. When they do not cover what you need, a map can ship Blueprints you wrote yourself. Blueprints are content, and they build into the map like any other asset.

Four things to know before you start:

  • Ship your own work. Blueprints you authored are fine. The Blueprints inside a purchased asset pack or template usually are not yours to redistribute, so do not publish them in a Workshop item. Rebuild the behaviour yourself instead.
  • Reference only what the game has. Engine nodes and the nodes on this page are available. A Blueprint that reaches for a class or plugin the Creator Kit does not ship, such as a bought template’s own player pawn or an XR plugin, will fail when you build the map, and the error names the missing function rather than the real cause.
  • A few engine nodes are not allowed. The ones that act on the whole game, such as Open Level, Quit Game and Execute Console Command. The publish panel refuses to build a map that uses them and names the node. The full list is on the Nodes page.
  • Grabbables are the exception. VRGrab is read from a Static Mesh Actor, so the tag is ignored on a Blueprint. Place the grabbable mesh as its own actor and let your Blueprint drive the rest.
Found a bug with the docs? Click here to report it →Report a docs bug →