Use the UI Toolkit Event Debugger to inspect and troubleshoot UI events in both Edit and Play mode.
Note: The UI Toolkit Event Debugger is an experimental feature, so it’s still in the process of becoming stable enough to release.
The Event Debugger provides a real-time view of events as they occur, allowing you to analyze event propagation and registered callbacks. This is especially useful for debugging complex event handling scenarios, such as when you have multiple elements with overlapping event handlers or when you’re trying to understand how events propagate through the UI hierarchy.
Before you can use the debugger, you must enable it in the project settingsA broad collection of settings which allow you to configure how Physics, Audio, Networking, Graphics, Input and many other areas of your project behave. More info
See in Glossary.
After you enable the Event Debugger, follow these steps to open the debugger and target a specific panel:
From the menu, select Window > UI Toolkit > Event Debugger to open the UI Toolkit Event Debugger window.
Select the panel to debug.
Tip: To find a panel’s name, open the UI Toolkit Debugger, focus on the target Editor Window, and then press Ctrl+F5 (macOS: Cmd+F5) or use the More(⫶) menu for that window. The panel name appears in the Debugger’s dropdown, similar to the Select a panel dropdown in the Event Debugger.
Note: To debug runtime panels in Play mode, enter Play mode first and select the target panel.
With the UI Toolkit Event Debugger window open, interact with the panel, such as clicking or moving the mouse. Events appear in the Event Log in real-time.
(Optional) To clear the event log, select Clear Logs in the corner of the UI Toolkit Event Debugger window.
To reduce the number of events you monitor, filter them by type.
Select the dropdown icon next to the panel selection control to choose which event types to debug. Events are grouped by category, with a count of how often each type has occurred.
By default, Pointer Events are selected. You can toggle entire categories or specific event types.
When you select an event in the Event Log, the bottom section of the Event Debugger provides detailed information about the event.
The bottom section of the Event Debugger divides into three main areas:
HandleEventBubbleUp
or HandleEventTrickleDown
.To trace event behavior back to your code, use the callback viewer to check what methods are registered and where.
The right panel lists all registered callbacks for the selected event type and panel. Each callback entry includes a diagonal arrow icon that opens your C# code editor at the registration point.
Note: Callbacks are categorized as TrickleDown or NoTrickleDown, depending on their propagation phase. For more information, refer to Dispatch events.
Did you find this page useful? Please give it a rating:
Thanks for rating this page!
What kind of problem would you like to report?
Thanks for letting us know! This page has been marked for review based on your feedback.
If you have time, you can provide more information to help us fix the problem faster.
Provide more information
You've told us this page needs code samples. If you'd like to help us further, you could provide a code sample, or tell us about what kind of code sample you'd like to see:
You've told us there are code samples on this page which don't work. If you know how to fix it, or have something better we could use instead, please let us know:
You've told us there is information missing from this page. Please tell us more about what's missing:
You've told us there is incorrect information on this page. If you know what we should change to make it correct, please tell us:
You've told us this page has unclear or confusing information. Please tell us more about what you found unclear or confusing, or let us know how we could make it clearer:
You've told us there is a spelling or grammar error on this page. Please tell us what's wrong:
You've told us this page has a problem. Please tell us more about what's wrong:
Thank you for helping to make the Unity documentation better!
Your feedback has been submitted as a ticket for our documentation team to review.
We are not able to reply to every ticket submitted.