Roblox Conditional Breakpoints vs. Logpoints: When to Use Each
Posted: Thu Jul 23, 2026 1:40 am
Roblox Conditional Breakpoints vs. Logpoints: When to Use Each
Use a conditional breakpoint when execution should pause only after a Luau condition becomes truthy. Once paused, you can inspect variables and the call stack or step through the code.
Use a logpoint when you want to print runtime values without pausing execution. In Roblox Studio, a logpoint is a breakpoint configured with a Log Message and Continue Execution enabled.
Configure breakpoints in Studio
Click or right-click beside an executable line in the Script Editor gutter to insert a breakpoint. To change its behavior, right-click the breakpoint and select Edit Breakpoint.
Studio lets you combine these settings:
Log-message syntax
For ScriptDebuggerService, LogMessage is parsed as a comma-separated list of Luau expressions. Roblox evaluates those expressions in the breakpoint's scope and combines the results in print()-style output. String literals must be quoted, while bare identifiers refer to live values.
For example:
Inspecting paused execution
When a breakpoint pauses execution, Studio provides Watch, Call Stack, Output, and Script Editor views. You can also step into, over, or out of code.
For Studio plugins, ScriptDebuggerService provides programmatic breakpoint management, execution control, stack-trace retrieval, variable inspection, and expression evaluation. Roblox announced the service's beta release on June 18, 2026. The API uses Plugin Security, remains subject to breaking changes, and has undefined behavior with Parallel Luau.
Which should you choose?
Choose a conditional breakpoint when you need to inspect paused state, examine the call stack, or step through execution. Choose a logpoint when evaluated output provides the evidence you need and execution should continue uninterrupted.
Use a conditional breakpoint when execution should pause only after a Luau condition becomes truthy. Once paused, you can inspect variables and the call stack or step through the code.
Use a logpoint when you want to print runtime values without pausing execution. In Roblox Studio, a logpoint is a breakpoint configured with a Log Message and Continue Execution enabled.
Configure breakpoints in Studio
Click or right-click beside an executable line in the Script Editor gutter to insert a breakpoint. To change its behavior, right-click the breakpoint and select Edit Breakpoint.
Studio lets you combine these settings:
- Condition: An optional expression that determines whether the breakpoint activates.
- Log Message: An expression that prints to the Output window when the breakpoint activates.
- Continue Execution: Determines whether an activated breakpoint pauses the script. This setting is enabled by default for an inserted logpoint.
Log-message syntax
For ScriptDebuggerService, LogMessage is parsed as a comma-separated list of Luau expressions. Roblox evaluates those expressions in the breakpoint's scope and combines the results in print()-style output. String literals must be quoted, while bare identifiers refer to live values.
For example:
Code: Select all
LogMessage = "'health', health, 'state', state"When a breakpoint pauses execution, Studio provides Watch, Call Stack, Output, and Script Editor views. You can also step into, over, or out of code.
For Studio plugins, ScriptDebuggerService provides programmatic breakpoint management, execution control, stack-trace retrieval, variable inspection, and expression evaluation. Roblox announced the service's beta release on June 18, 2026. The API uses Plugin Security, remains subject to breaking changes, and has undefined behavior with Parallel Luau.
Which should you choose?
Choose a conditional breakpoint when you need to inspect paused state, examine the call stack, or step through execution. Choose a logpoint when evaluated output provides the evidence you need and execution should continue uninterrupted.