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 ExampleUser

Where to read them

Where the script runsWhere the lines go
Play modeThe 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 QuestAndroid's log, read from a computer with adb logcat -s Unity (the headset in developer mode).
A serverThe 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

LineMeaning
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).