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
- Install the SDK in a Unity project.
- Open the example world and walk in it in Play mode.
- Set up your own scene, as below, and try it in Play mode.
- Publish it, then give its folder to a host, who adds it to their server.
Set up the scene
- Open your scene and save it.
- 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.
- Move Spawn Point where players arrive.
The NW World component
| Field | What it does |
|---|---|
| Config | The NW World Config asset of the world. |
| Spawn Point | Where players arrive, and where they come back when they respawn. Empty: the NW World object itself. |
| Force Desktop In Play Mode | Keyboard and mouse in Play mode even when a headset is connected. |
| Respawn Height | A 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.
| Field | What it does |
|---|---|
| World Id, Display Name, Description, Adult | The world's ID, its name, its description and its 18+ mark: the Build and Metadata tabs of the World Publisher show them. |
| Flux Sharp Sources | The world's FL# scripts. Empty for a world without scripts. |
| Play Mode Account Id, Play Mode Display Name | The account and name of the player in Play mode, for a world that gives rights to some accounts. |
| Build Windows, Build Linux, Build Android | The 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.GetKeyDownandInput.GetKeyUpare false, the move axes are 0). A mouse click that starts while the player types only clicks the interface:Input.GetButtonsees 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
| Lighting | Lights, baked lightmaps (Unity, Bakery), probes, post-processing. |
| Sound in a world | Audio Sources, reverb zones, what players hear and control. |
| Mirrors | The example world's mirror in your scene. |
| Televisions and video | A video clip, or a screen everyone watches together. |
| Seats | Chairs, benches and vehicle seats. |
| Portals in your world | Portals to other worlds. |
| Music-reactive worlds with Pulse | Lights and materials that react to the music. |
| Worlds on Meta Quest and Platform Switch | What a Quest needs, and a lighter version for it. |
| Layers | The layers NodeWorld reserves. |
| What a world may hold | The components players' games keep and remove. |
Publish it
- Publish the world for Windows, Linux and Quest.
- Give the world's folder to a host, who adds it to their server.
When something does not work: troubleshooting.
