Logs of your scripts
Debug.Log(message), Debug.LogWarning, Debug.LogError, Debug.LogException(exception) and print write a line to the log of the game that runs the script. Each line starts with [FL# <World ID>].
csharp
protected override void OnInteract() => Debug.Log("Door used by " + Player.name);
// [FL# Tavern] Door used by ExampleUserWhere to read them
| Where the script runs | Where the lines go |
|---|---|
| Play mode | The Console of the Unity Editor. |
| The game on Windows | %USERPROFILE%\AppData\LocalLow\NW\NodeWorld\Player.log |
| The game on Linux | ~/.config/unity3d/NW/NodeWorld/Player.log |
| The game on Meta Quest | Android's log, read from a computer with adb logcat -s Unity (the headset in developer mode). |
| A server | The server's log (run a server as a service); its lines start with [FL# <World ID>, room <number>]. |
The Player.log paths are where Unity writes the log of a game (Unity: log files); the file starts again at each launch, and the previous one is kept as Player-prev.log.
What the game writes about your scripts
| Line | Meaning |
|---|---|
FL# script <class> on <object> stopped in <callback>: <exception> | An exception left a callback: that script is stopped (callbacks). |
FL# host refused a script call (ignored, the scripts go on): <reason> | A call was refused; it did nothing. Each reason is written once. |
'<object>': the value of <class>.<field> is a <kind>, the field is a <type>: not set. | A field of the scene no longer fits its script. |
'<object>' (<class>) asks to send its synced state but has no network id…, … sends network events but has no network id: they stay on this client. | The object has no Network Id. |
Ownership of '<object>' (<network id>): player 1 -> 2. | An object changed owner. |
[Web] GET api.example.com: 200, 512 bytes. | A web request (web). |
[ContentCheck] … | What the game removed from your world before loading it (what a world may hold). |
FL# world stopped in <callback>: <reason> | The world's module broke a rule of its sandbox: every script of the world stops. |
When your code runs for more than 10 seconds in one call (60 while the world loads), the scripts are stopped, the world stays shown, and the player gets a notice (limits). When a call your script makes to the game takes a second or more, the log names it, for example FL# host: Find took 1100 ms in the game (not counted by the watchdog, the scripts go on).
