NodeWorld

Problèmes fréquents

Chaque message ci-dessous est écrit comme le SDK, fluxc ou le jeu l'affiche. Les messages du SDK sont dans la Console de Unity (Window, General, Console), sauf quand une fenêtre les montre. Où lire les journaux de tes scripts dans le jeu : les journaux de tes scripts.

Le Play mode

MessageQuoi faire
[NodeWorld] The FL# scripts of the world do not compile: Play is cancelled.Les erreurs du compilateur suivent : corrige-les (les erreurs de fluxc).
[PlayModeBootstrap] The NW World Reference has no NW World Config.Sélectionne l'objet NW World et règle sa Config (créer un monde).
[PlayModeBootstrap] Internal SDKConfig not found in Resources.Mets à jour le SDK depuis le Package Manager (mettre à jour) : depuis la 0.3.2, il apporte tout ce qu'il faut au joueur du Play mode.
[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. (ou un autre exemple)Le SDK n'a pas pu l'importer : ouvre Window, Package Manager, sélectionne le paquet nommé, et importe l'exemple depuis son onglet Samples.
The FL# tools are incomplete, these files are missing: …Réinstalle le SDK depuis le Package Manager ; si le fichier manquant est le runtime .NET, réinstalle l'éditeur Unity.
The FL# tools run in the Unity editor on Windows and Linux, not on OSXEditor.Le SDK ne marche que sous Windows et Linux (le SDK).

Les erreurs de fluxc

fluxc compile tes scripts en Play mode, à Read the scripts et à la publication. Ses erreurs arrivent après FL# compiler (fluxc) exited with code 1. et fluxc: C# compilation failed:, une par ligne : le fichier, la ligne et la colonne, et l'erreur C#. Ton IDE montre les mêmes pendant que tu tapes (écrire du FL# dans ton IDE).

ErreurQuoi faire
error CS0114: 'Porte.Update()' hides inherited member 'FluxScript.Update()'…Écris les callbacks protected override void Update() (les callbacks).
error CS0246: The type or namespace name 'UnityEngine' could not be found (ou MonoBehaviour)Les scripts FL# utilisent using NodeWorld.Flux; et dérivent de FluxScript, pas de MonoBehaviour.
error CS0103: The name 'File' does not exist in the current contextLa bibliothèque C# de FL# n'a pas de fichiers : un monde ne lit ni n'écrit sur le disque du joueur. Garde des valeurs avec les données du joueur, va les chercher sur le web.
FL# script MonMonde.Porte needs a public constructor without parameters: the scene creates it.Ajoute public Porte() { }, ou retire ton constructeur à paramètres.
FL# script MonMonde.Porte must not be private: the scene creates it.Rends la classe publique.
FL# script MonMonde.Porte cannot be [ClientOnly] and [ServerOnly].Garde un seul des deux attributs (où tourne un script).

Publier un monde

MessageQuoi faire
Add a NodeWorld/World Reference component with an NWWorldConfig asset to the scene before publishing. (World Publisher)La scène ouverte n'a pas d'objet NW World avec une Config : ajoutes-en un avec GameObject, NodeWorld, NW World (créer un monde).
Save the scene first, provide a valid World ID, and select at least one platform. (sous Build World, grisé)Enregistre la scène, remplis World ID, et coche Windows, Linux ou Android.
World Validation Failed : Fix mipmap streaming errors before building.Dans l'onglet Build, Validate Mipmap Streaming liste les textures sans mipmaps ni mipmap streaming ; Fix les règle.
Invalid Metadata Asset : FL# Source must be .cs.Une entrée des Flux Sharp Sources de la NW World Config n'est pas un fichier .cs : retire-la, ou mets le .cs du script à sa place. Un monde sans scripts laisse la liste vide.
Unity failed to switch build target to Android.Installe le module de build de la plateforme depuis le Unity Hub (Android Build Support, Linux Build Support…).
AssetBundle build failed for StandaloneLinux64. Diagnostics written to: …Unity n'a pas pu construire cette plateforme : lis le fichier de diagnostic qu'il nomme, dans le dossier de sortie.
The component AudioListener on the object Bar/Camera is not allowed: it will be removed for players (sous Contrôle du contenu)Le jeu des joueurs chargera le monde sans lui. Retire-le, ou laisse-le (ce qu'un monde peut contenir).
[NodeWorld] 'Taverne': 3 × SomeVendor.Rotator removed from the published scene (not in the NodeWorld client).Un script qui n'est ni de Unity ni de NodeWorld n'arrive jamais chez les joueurs : fais ce qu'il faisait avec un script FL#.
[NodeWorld] 'Taverne': 2 missing script(s) removed from the published scene.Des objets de la scène pointent vers des scripts qui n'existent plus ; ils sont laissés de côté.
Build CompleteLe dossier du monde est prêt : donne-le en entier à l'hébergeur (publier un monde).

Dans le jeu

Ce que voient les joueursCe que ça veut dire
Ce monde doit être republié par son créateur.Le monde a été publié avec le SDK 0.1 : publie-le à nouveau avec le SDK actuel, et donne le nouveau dossier à ses hébergeurs (publier un monde).
Les fichiers de ce monde sont abîmés sur son serveur.Un fichier du dossier du monde a changé après la publication, ou manque : donne le dossier tel que le World Publisher l'a fait (ce qu’il crée).
Les scripts de ce monde étaient bloqués depuis 10 s : ils sont arrêtés.Ton code a tourné plus de 10 secondes dans un appel : cherche une boucle qui ne finit pas, ou une attente sur le thread principal (limites).
Les joueurs sur Quest ne peuvent pas entrerLe monde n'a pas de fichiers Android : publie-le avec Android coché (les mondes sur Meta Quest).
Un script ne fait rien pour les autres joueursIl a changé le monde dans un seul jeu : synchronise-le (objets et valeurs synchronisés), et lis ses lignes de journal (les journaux de tes scripts).

Publier un avatar

L'onglet Validation de l'Avatar Publisher les liste ; les erreurs bloquent Build Avatar (créer un avatar).

MessageQuoi faire
Avatar root must have an NWAvatar component.Ajoute NWAvatar à la racine de l'avatar.
Avatar root must have an Animator with a Humanoid Avatar assigned.Importe le modèle avec Rig, Animation Type, Humanoid.
NWAvatar.ViewPosition must be set above the root (y > 0.1).Auto-Detect Viewpoint dans l'inspecteur de NWAvatar, ou place-le entre les yeux.
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.Le contrôle lit les os tels qu'ils se tiennent dans la scène : mets l'avatar en T-pose, les bras horizontaux et les jambes verticales.
Avatar contains a missing script reference.Retire les scripts manquants des objets de l'avatar.
Forbidden component on avatar: Rigidbody (Hips), Directional Light is not allowed: SunRetire-les : un avatar n'a ni physique, ni caméra, ni lumière directionnelle.
Component will be stripped: … (avertissement)Ce composant est laissé hors de la construction.
Triangle count exceeds recommended budget of 70,000: … et les autres budgets (avertissements)L'avatar est construit, mais il coûte à chaque joueur autour de toi (budgets).

À l'envoi sur le site, le fichier d'un avatar pour une plateforme fait 50 Mo au plus (Avatar bundle must be 50 MB or smaller), et le zip 160 Mo (publier un avatar).