The NodeWorld SDK

The SDK holds the components you put on worlds and avatars, the publishing windows of the Unity Editor, and the FL# runtime that runs world scripts. It is three Unity packages, which you install from the NodeWorld registry in the Package Manager:

PackageFor
NodeWorld SDK Worlds (com.nodeworld.sdk.worlds)Making a world: the World Publisher, the FL# tools, the video player, the content check, the example world.
NodeWorld SDK Avatars (com.nodeworld.sdk.avatars)Making an avatar: the Avatar Publisher and the NWAvatar inspector.
NodeWorld SDK Base (com.nodeworld.sdk.base)What worlds and avatars are made of: their components, the player rig, the FL# runtime, Play mode. The two others bring it: you never install it alone.

What you need

  • Unity 6000.6 (Unity 6.6) with the Universal Render Pipeline (URP).
  • The build support modules of the platforms you publish for, from the Unity Hub: Windows Build Support, Linux Build Support and Android Build Support (for Meta Quest).
  • Windows or Linux (there is no SDK for macOS).

Nothing else, FL# scripts included: the SDK brings the FL# compiler and its tools, and runs them with the .NET runtime that comes with the Unity Editor. You install no .NET, no Python, and type no path. On Linux, the compiler needs OpenSSL (libssl), already there on desktop distributions such as Ubuntu.

The SDK brings its own Unity dependencies (URP, XR Interaction Toolkit, Input System, Entities…): the Package Manager adds them when you install a package of the SDK.

Add the SDK to a project

Install the SDK: add the NodeWorld registry to the project once, then install NodeWorld SDK Worlds or NodeWorld SDK Avatars in the Package Manager.

Once installed, the Unity menu bar has a NodeWorld menu: World Publisher and Platform Switch with the worlds package, Avatar Publisher with the avatars package.

What is in it

PartPackageFor
NW World component and NW World Config assetBaseTurn a scene into a world (worlds).
FL# Scripts Folder (Create, NodeWorld in the Project window)WorldsMake the folder of a world's FL# scripts (your first FL# script); the SDK writes its project for your IDE (write FL# in your IDE).
FL# compiler, in the Tools~/Flux folder of the package: fluxcWorldsCompile the world's scripts into one WebAssembly module for every platform.
FL# Script componentBaseAttach an FL# script of the world to an object (FL# scripts).
World PublisherWorldsBuild the world for Windows, Linux and Quest, with its scripts (publishing a world).
Platform SwitchBase (component), Worlds (window)Change objects and materials per platform (Platform Switch).
NWAvatar component and Avatar PublisherBase (component), Avatars (inspector and window)Prepare and build avatars (avatars).
Example World and Avatar Setup samplesWorlds, AvatarsImport them from the Package Manager (the example world, avatar setup).

The C# types of the three packages are in the SDK reference.

License

The three packages of the SDK are under the MIT License (the LICENSE.md of each): you may use them, change them and share them, with their license notice. The FL# API and its library (NodeWorld.Flux, Flux.CoreLib) are under the MIT License too. The software of others that the SDK ships keeps its own license: each package lists its own in Third Party Notices.md, the texts next to each part (Base: WAMR in the FL# runtime; Worlds: Roslyn in fluxc, libVLC for the video player…).