Make a world

A world is a Unity scene with one NW World object. Everything else is your scene: models, lights, sounds, and the FL# scripts that make it interactive.

Your first world

  1. Install the SDK in a Unity project.
  2. Open the example world and walk in it in Play mode.
  3. Set up your own scene, as below, and try it in Play mode.
  4. Publish it, then give its folder to a host, who adds it to their server.

Set up the scene

  1. Open your scene and save it.
  2. In the Hierarchy, right-click, then NodeWorld, NW World. This adds:
    • an NW World object with the NW World component, a Play Mode Bootstrap component and a Spawn Point child;
    • an NW World Config asset next to the scene, holding the world's ID, name and publishing settings.
  3. Move Spawn Point where players arrive.

The NW World component

FieldWhat it does
ConfigThe NW World Config asset of the world.
Spawn PointWhere players arrive, and where they come back when they respawn. Empty: the NW World object itself.
Force Desktop In Play ModeKeyboard and mouse in Play mode even when a headset is connected.
Respawn HeightA player falling under this height comes back to the spawn point. -200 by default.

The NW World Config

The asset goes into the world's files: it holds nothing of your computer. Another one can be made with Create, NodeWorld, NW World Config in the Project window.

FieldWhat it does
World Id, Display Name, Description, AdultThe world's ID, its name, its description and its 18+ mark: the Build and Metadata tabs of the World Publisher show them.
Flux Sharp SourcesThe world's FL# scripts. Empty for a world without scripts.
Play Mode Account Id, Play Mode Display NameThe account and name of the player in Play mode, for a world that gives rights to some accounts.
Build Windows, Build Linux, Build AndroidThe platforms the World Publisher builds.

Try it in Play mode

Press Play in Unity: the scene starts as in the game, with a player at the spawn point. With a PC VR headset connected you play in VR; otherwise with the desktop keys.

The FL# scripts of the world are compiled first, for your computer. A compile error cancels Play: the Console says [NodeWorld] The FL# scripts of the world do not compile: Play is cancelled., followed by the compiler's message.

In Play mode you are alone in the room and its master; nothing goes over the network, and portals do not open (limits: Play mode).

Text fields

Put a TextMeshPro input field (Input Field - TextMeshPro) or a uGUI one (Input Field) on a canvas of your world, as for any panel. There is nothing to add for typing:

  • in VR, the NodeWorld keyboard opens as soon as a player selects the field, and types in it with the field's content type, character limit and validation;
  • with keyboard and mouse, while the field has the cursor, the keys only type: they do not move the player, and your FL# scripts receive none of them (Input.GetKey, Input.GetKeyDown and Input.GetKeyUp are false, the move axes are 0). A mouse click that starts while the player types only clicks the interface: Input.GetButton sees it again once it is released.

In your script, read the field's text, and listen to onSubmit (the player pressed Enter or the blue key of the VR keyboard) or onEndEdit (the player left the field). isFocused tells whether the player is typing in it.

The same applies in Play mode.

Build your world

LightingLights, baked lightmaps (Unity, Bakery), probes, post-processing.
Sound in a worldAudio Sources, reverb zones, what players hear and control.
MirrorsThe example world's mirror in your scene.
Televisions and videoA video clip, or a screen everyone watches together.
SeatsChairs, benches and vehicle seats.
Portals in your worldPortals to other worlds.
Music-reactive worlds with PulseLights and materials that react to the music.
Worlds on Meta Quest and Platform SwitchWhat a Quest needs, and a lighter version for it.
LayersThe layers NodeWorld reserves.
What a world may holdThe components players' games keep and remove.

Publish it

When something does not work: troubleshooting.