Troubleshooting
Each message below is written as the SDK, fluxc or the game shows it. The SDK's messages are in the Unity Console (Window, General, Console) unless a window shows them. Where to read the logs of your scripts in the game: logs of your scripts.
Play mode
| Message | What to do |
|---|---|
[NodeWorld] The FL# scripts of the world do not compile: Play is cancelled. | The compiler's errors follow it: fix them (fluxc errors). |
[PlayModeBootstrap] The NW World Reference has no NW World Config. | Select the NW World object and set its Config (make a world). |
[PlayModeBootstrap] Internal SDKConfig not found in Resources. | Update the SDK from the Package Manager (update): since 0.3.2, it brings everything the Play mode player needs. |
[NodeWorld] The player of Play mode needs the Starter Assets sample of com.unity.xr.interaction.toolkit 3.6.1: import it in Window, Package Manager, …, Samples. (or another sample) | The SDK could not import it: open Window, Package Manager, select the package it names, and import the sample from its Samples tab. |
The FL# tools are incomplete, these files are missing: … | Reinstall the SDK from the Package Manager; if the missing file is the .NET runtime, reinstall the Unity Editor. |
The FL# tools run in the Unity editor on Windows and Linux, not on OSXEditor. | The SDK works on Windows and Linux only (the SDK). |
fluxc errors
fluxc compiles your scripts in Play mode, at Read the scripts and when you publish. Its errors come after FL# compiler (fluxc) exited with code 1. and fluxc: C# compilation failed:, one per line: the file, the line and column, and the C# error. Your IDE shows the same as you type (write FL# in your IDE).
| Error | What to do |
|---|---|
error CS0114: 'Door.Update()' hides inherited member 'FluxScript.Update()'… | Write callbacks protected override void Update() (callbacks). |
error CS0246: The type or namespace name 'UnityEngine' could not be found (or MonoBehaviour) | FL# scripts use using NodeWorld.Flux; and derive from FluxScript, not from MonoBehaviour. |
error CS0103: The name 'File' does not exist in the current context | FL#'s C# library has no files: a world does not read or write the player's disk. Keep values with player data, fetch them from the web. |
FL# script MyWorld.Door needs a public constructor without parameters: the scene creates it. | Add public Door() { }, or remove your constructor with parameters. |
FL# script MyWorld.Door must not be private: the scene creates it. | Make the class public. |
FL# script MyWorld.Door cannot be [ClientOnly] and [ServerOnly]. | Keep one of the two attributes (where a script runs). |
Publishing a world
| Message | What to do |
|---|---|
Add a NodeWorld/World Reference component with an NWWorldConfig asset to the scene before publishing. (World Publisher) | The open scene has no NW World object with a Config: add one with GameObject, NodeWorld, NW World (make a world). |
Save the scene first, provide a valid World ID, and select at least one platform. (under Build World, greyed) | Save the scene, fill World ID, and check Windows, Linux or Android. |
World Validation Failed: Fix mipmap streaming errors before building. | In the Build tab, Validate Mipmap Streaming lists the textures without mipmaps and mipmap streaming; Fix sets them. |
Invalid Metadata Asset: FL# Source must be .cs. | An entry of Flux Sharp Sources in the NW World Config is not a .cs file: remove it, or put the script's .cs in its place. A world without scripts leaves the list empty. |
Unity failed to switch build target to Android. | Install the platform's build support module from the Unity Hub (Android Build Support, Linux Build Support…). |
AssetBundle build failed for StandaloneLinux64. Diagnostics written to: … | Unity could not build that platform: read the diagnostics file it names, in the output folder. |
The component AudioListener on the object Bar/Camera is not allowed: it will be removed for players (under Content check) | Players' games will load the world without it. Remove it, or leave it (what a world may hold). |
[NodeWorld] 'Tavern': 3 × SomeVendor.Rotator removed from the published scene (not in the NodeWorld client). | A script that is not Unity's or NodeWorld's never reaches players: do what it did with an FL# script. |
[NodeWorld] 'Tavern': 2 missing script(s) removed from the published scene. | Objects of the scene point to scripts that no longer exist; they are left out. |
| Build Complete | The world's folder is ready: give all of it to the host (publish a world). |
In the game
| What players see | What it means |
|---|---|
| This world must be republished by its creator. | The world was published with SDK 0.1: publish it again with the current SDK, and give the new folder to its hosts (publish a world). |
| This world’s files are damaged on its server. | A file of the world's folder changed after the build, or is missing: give the folder exactly as the World Publisher made it (what it makes). |
| This world's scripts were stuck for 10 s: they are stopped. | Your code ran for more than 10 seconds in one call: look for a loop that never ends, or a wait on the main thread (limits). |
| Players on Quest cannot join | The world has no Android files: publish it with Android checked (worlds on Meta Quest). |
| A script does nothing for other players | It changed the world on one game only: sync it (synced objects and values), and read its log lines (logs of your scripts). |
Publishing an avatar
The Validation tab of the Avatar Publisher lists these; the errors block Build Avatar (make an avatar).
| Message | What to do |
|---|---|
Avatar root must have an NWAvatar component. | Add NWAvatar to the root of the avatar. |
Avatar root must have an Animator with a Humanoid Avatar assigned. | Import the model with Rig, Animation Type, Humanoid. |
NWAvatar.ViewPosition must be set above the root (y > 0.1). | Auto-Detect Viewpoint in the NWAvatar inspector, or place it between the eyes. |
Avatar arms must be close to a T-pose: upper arms should be roughly horizontal., Avatar legs must be roughly vertical in the bind pose. | The check reads the bones as they stand in the scene: put the avatar in a T-pose, upper arms horizontal and legs vertical. |
Avatar contains a missing script reference. | Remove the missing scripts from the avatar's objects. |
Forbidden component on avatar: Rigidbody (Hips), Directional Light is not allowed: Sun | Remove them: an avatar has no physics, camera or directional light. |
Component will be stripped: … (warning) | That component is left out of the build. |
Triangle count exceeds recommended budget of 70,000: … and the other budgets (warnings) | The avatar is built, but costs every player around you (budgets). |
When you upload on the website, an avatar's file for one platform is 50 MB at most (Avatar bundle must be 50 MB or smaller), and the zip 160 MB (publish an avatar).
