Hey Developers!
We’re excited to announce a beta for a feature that completely revamps the Studio debug experience: the brand new Intuitive Debugger.
The Intuitive Debugger makes a number of changes that we believe greatly improve both the functionality and UX of Studio’s debugging features. These include:
- Visibility and control over Breakpoint runtime contexts.
- Better defaults + customization in debug information tables.
- A streamlined look and feel for all debug-related windows.
- A complete reimplementation of backend logic to provide dependable tools that “just work.”
The beta can be enabled by toggling Studio > Beta Features > Intuitive Debugger.
Note: Previously set Breakpoints will not be carried over.
See below for a more detailed breakdown of what the Intuitive Debugger provides, alongside a couple of things still being worked on!
New Features
Breakpoint Contexts
The Edit Breakpoints menu now provides full control over the contexts in which a Breakpoint will be hit! This affects the behavior of a Breakpoint at runtime when Scripts are replicated across the Client and Server data models.
The Edit Breakpoint menu can be accessed by right-clicking on a Breakpoint in either the Script Editor gutter or the Breakpoints Window.
Breakpoints Window
The new Breakpoints window offers information and functionality in a more thorough, customizable and efficient manner than ever before! Specifically:
- All instances of a Breakpoint across DMs can now be individually viewed and toggled.
- Individual Breakpoint actions have been moved to the right-click menu.
- Breakpoint information column visibility can now be customized to suit individual preferences.
Call Stack Window
The Call Stack window has also been overhauled to offer the most informative and streamlined user experience possible. Improvements include:
- Multithreaded debugging visibility, such that all active threads can be monitored from the same place.
- In-window step buttons that allow for a more efficient debugging workflow.
- The ability to customize Call Stack information column visibility.
Watch Window
Lastly, we’ve made enhancements to the Watch Window in order to present information in a more unified and discoverable manner. Here’s what has changed:
- The Local and Global tabs have been merged and replaced with a “Scope” column. This allows local, global and upvalue variables to be monitored side-by-side.
- A new dropdown menu allows for the filtering of variables by scope.
- A search bar has been added to help navigate variables and watches by name.
Looking Forward
During the beta, you can expect us to continue working to improve the Intuitive Debugger while listening to and implementing changes based on your feedback. There are a couple of issues we are already aware of:
- We are using a new UI framework for this feature, so expect some UI bugs while we work to iron some issues out.
- There may be unpredictable behavior when using the Intuitive Debugger to debug Plugins. We’re working to resolve these issues as soon as we can, but until then, be wary of this usage.
- The ability to add a contextual breakpoint during a play session by right-clicking the Script Editor gutter is not yet implemented.
- Variable values cannot yet be displayed on-hover during a debug session.
Thank you for being a part of this process— we’re very excited about the impact of this release on your development experience, and we look forward to hearing your feedback!
Many thanks to the following who’ve contributed to the Intuitive Debugger: @altisaltaccount, @swish741, @Regal_Corgi, @windy0724, @ResetVector, @IcyTides, @ameowth07, @iriszh, @Rusi_002, @HugoBLH, @MoonRocketApollo, @idevride, @MetalMax2
Happy debugging!