As you likely know, the Lua Debugger provides extensive additional capability over print() statements for inspecting the state of running code. You can pause running programs using breakpoints, view the live value of any variable using watches, and see the source of any error through the call stack.
However, breakpoints don’t always feel as powerful as they ought to be. Shouldn’t I be able to set breakpoints that always hit regardless of context?
Meet Universal Breakpoints. Breakpoints that are set in any context (Edit/Server/Client) will be copied to every other context and always hit. This intuitive feature is finally a reality! To cover all use cases, we’ve retained the legacy behavior as “Contextual Breakpoints”. These breakpoints will not be copied to other contexts and will only be hit if set in the same context where its parent script executes.
Edit 07/06/20 - this functionality is currently available as a Beta Feature. Turn on Studio > Beta Features > Breakpoint Replication Beta to enable it.