Multiplayer

Shared spaces work by default, so your visitors arrive together instead of alone

Multiplayer Is On by Default

There's no multiplayer feature to enable and no networking code to write. Every experience you publish is a shared space: two people who open your URL at the same time see each other, moving and animating in real time, from any combination of desktop, mobile, and VR. This page explains what that gives you for free, what it means for how you build, and where you need to think about it.

💡 Why this is the default

A world with someone else in it is a different thing from a world alone, and retrofitting multiplayer into a finished project is famously miserable. Having it on from the start means the choice is always yours to make: build for company, or build something solitary that simply never has company arrive.

What Syncs Automatically

The pieces that ship with the template already know how to network themselves. You don't mark anything, register anything, or write anything:

🚶
Player movement
Position and rotation, smoothed so other players move naturally rather than jittering. Jumps and teleports come through as the events they are, so a teleport reads as a teleport rather than an impossible sprint.
🎭
Avatar animation
All eight animation states. When someone swims, climbs, or crouches, everyone sees it on their avatar.
🏷️
Player nametags
Each visitor carries a name that fades with distance, so a busy space doesn't turn into a wall of floating text.
🥽
VR head and hands
Head rotation and wrist position and rotation sync, so a headset visitor's gestures and gaze read correctly to everyone, including desktop players in the same session.
🫳
Interactive objects
The Grabbable, Throwable, Kickable, Pushable, and Pullable tools handle their own networking. Pick something up and everyone sees it move.
🔦
Laser Pointer
The beam and its dot are visible to everyone in the session, which is what makes it work for tours and presentations.

Objects you spawn at runtime can be networked too. The Object Spawner has a Networked Spawn option that makes spawned items appear for everyone rather than only the player who triggered them, and the prefab being spawned needs to be set up as a networked object for that to work.

The U3D Core Prefab

Multiplayer, publishing, and player spawning all live in the U3D CORE - DO NOT DELETE prefab, at Assets/U3D/Prefabs/, and it needs to be in every scene you publish. Add it from the Game Systems tools if a scene doesn't have one. It's safe to click twice, since the tool won't add a second copy.

⚠️ Don't delete the Core Prefab

If it isn't in your scene, players won't spawn, multiplayer won't connect, and publishing won't work correctly. It's the one object in a U3D scene that has to be there. If you ever delete it by accident, adding it back from Game Systems is the whole fix.

How Sessions Work

Visitors who open your URL around the same time land in the same session and see each other. It happens on load, with nothing for them to join, no lobby, and no code to enter.

Two things about sessions are worth knowing while you're designing:

Sessions have a capacity. A single shared space holds a set number of people at once, and once it's full, additional visitors go into a separate session. That's the right behavior for a busy day, but it does mean a group who want to be together should arrive together rather than trickling in during a rush.

Sessions are separate spaces. Two people in different sessions of the same experience can't see or reach each other. There's no crossing between them from inside the world.

💡 Designing for events

If you're running something where everyone genuinely needs to be in one room together, size the guest list to the capacity rather than hoping. For a larger crowd, a design that works well is several linked spaces people move between on purpose, instead of one space they get sorted into by chance.

Turning Multiplayer Off

Not every experience wants company. A narrative piece, a teaching tool, a portfolio walkthrough, or anything built around a single visitor's attention can be better alone. Multiplayer is a switch on the Core prefab: select U3D CORE - DO NOT DELETE in your scene and turn off Enable Multiplayer in the Inspector.

With it off, visitors never see each other, networking doesn't connect, and the automatic player spawning stops, which means you place and manage the player yourself. Everything else keeps working: the character controller, all the interactivity tools, media, monetization, and publishing to your professional URL are unaffected. You can set it per scene, so a single project can have a solitary opening and a shared main space.

The three ways to build on the template covers this alongside the other structural choices.

Getting Your Own Capacity

The multiplayer that comes with the template runs on shared platform capacity, which is there so you can build and share without setting up an account or paying for anything. It's a launchpad, not a ceiling.

When your audience outgrows it, you can create your own free Photon account and put your own credentials into your project. That gives you capacity that nobody else is drawing on, your own analytics, and scaling on your own terms. You don't need permission, there's no migration to negotiate, and nothing about your published work changes. It's the same arrangement as owning your repository: the platform gets you started and never becomes the thing standing between you and growing.

Building for Shared Spaces

A few habits that make a world better with people in it

None of these are requirements. They're the differences between a space that happens to allow visitors and one that's actually pleasant to be in with strangers.

  • Leave room at the entrance. Everyone arrives at the same spawn point. A tight corner or a narrow doorway there turns a small crowd into a pile.
  • Assume objects will be moved. If something is grabbable, kickable, or throwable, a visitor will eventually put it somewhere you didn't intend. The Trash Handler tool exists for exactly this: it can respawn objects that leave the area rather than letting your scene slowly empty out.
  • Give people something to do together. Two visitors standing in an empty room look at each other and leave. A ball to kick, a puzzle needing two hands, a thing to sit on, or a quest to chase gives them a reason to stay.
  • Watch your volume. Ambient audio that's charming for thirty seconds becomes tiring across a long visit. The Settings UI lets players adjust it, which is a good reason to include one.
  • Sound and video are local. A video player is not synchronized between visitors, so two people watching the same screen may be at different points in it. Worth knowing before you build a scene that assumes a shared viewing.

Testing Multiplayer

Pressing Play in Unity shows you one player, which is enough for most work but tells you nothing about how the space feels with company. The most reliable way to test the real thing is to publish and then open your live URL in two browser windows, or on a computer and a phone at once. That's genuinely how it behaves for visitors, including the timing and the network conditions.

Since republishing is unlimited and keeps the same URL, testing this way costs nothing but a few minutes. Publish, open two windows, walk one into the other, and you'll immediately know whether your spawn area is roomy enough and whether your interactive objects behave the way you pictured when two people reach for them at once.

Ready to Create Something Amazing?

From Unity to Unreality3D.com. Free.


© 2026 Unreality3D LLC. All rights reserved.