NodeWorld

Les journaux de tes scripts

Debug.Log(message), Debug.LogWarning, Debug.LogError, Debug.LogException(exception) et print écrivent une ligne dans le journal du jeu qui fait tourner le script. Chaque ligne commence par [FL# <World ID>].

csharp
protected override void OnInteract() => Debug.Log("Porte utilisée par " + Player.name);
// [FL# Taverne] Porte utilisée par ExampleUser

Où les lire

Où tourne le scriptOù vont les lignes
Play modeLa Console de l'éditeur Unity.
Le jeu sur Windows%USERPROFILE%\AppData\LocalLow\NW\NodeWorld\Player.log
Le jeu sur Linux~/.config/unity3d/NW/NodeWorld/Player.log
Le jeu sur Meta QuestLe journal d'Android, lu depuis un ordinateur avec adb logcat -s Unity (le casque en mode développeur).
Un serveurLe journal du serveur (faire tourner un serveur en service) ; ses lignes commencent par [FL# <World ID>, room <numéro>].

Les chemins de Player.log sont ceux où Unity écrit le journal d'un jeu (Unity : fichiers journaux) ; le fichier repart de zéro à chaque lancement, et le précédent est gardé sous le nom Player-prev.log.

Ce que le jeu écrit sur tes scripts

LigneCe qu'elle veut dire
FL# script <classe> on <objet> stopped in <callback>: <exception>Une exception est sortie d'un callback : ce script est arrêté (les callbacks).
FL# host refused a script call (ignored, the scripts go on): <raison>Un appel a été refusé ; il n'a rien fait. Chaque raison est écrite une fois.
'<objet>': the value of <classe>.<champ> is a <sorte>, the field is a <type>: not set.Un champ de la scène ne va plus à son script.
'<objet>' (<classe>) asks to send its synced state but has no network id…, … sends network events but has no network id: they stay on this client.L'objet n'a pas de Network Id.
Ownership of '<objet>' (<ID réseau>): player 1 -> 2.Un objet a changé de propriétaire.
[Web] GET api.example.com: 200, 512 bytes.Une requête web (web).
[ContentCheck] …Ce que le jeu a retiré de ton monde avant de le charger (ce qu'un monde peut contenir).
FL# world stopped in <callback>: <raison>Le module du monde a enfreint une règle de son bac à sable : tous les scripts du monde s'arrêtent.

Quand ton code tourne plus de 10 secondes dans un appel (60 pendant le chargement du monde), les scripts sont arrêtés, le monde reste affiché, et le joueur reçoit un avis (limites). Quand un appel au jeu que fait ton script prend une seconde ou plus, le journal le nomme, par exemple FL# host: Find took 1100 ms in the game (not counted by the watchdog, the scripts go on).