How to Investigate a Crash Using Breadcrumbs (Unreal Engine)
Goal
Use the Breadcrumbs timeline on the crash detail page to understand the sequence of events that preceded a crash in your Unreal Engine game — including filtering by event type, using keyword and custom filters, and correlating events with performance data on the session graph.
Prerequisites
- Your Unreal Engine game is connected to ADT and crash reports are being captured.
- You have permission to view crash reports in ADT.
- No additional setup or code changes are required. Breadcrumbs are available automatically for every crash that has associated log data.
Steps
Step 1: Open the crash detail page
- In ADT, navigate to Health and open Crash Insights.
- Select the crash you want to investigate from the crash list.
- The crash detail page opens. You will see the tab navigation at the top: Callstack | General | Breadcrumb | Crash Video | Hardware | Log | Modules | Crash Context.
- Click the Breadcrumb tab.
The timeline loads automatically. You do not need to take any action to enable it.
What you will see:
The crash event appears at the top of the timeline as a distinct marker. Log entries appear below it in reverse chronological order — the most recent event is closest to the crash marker, and the oldest event is at the bottom.
By default, the timeline shows entries in three categories: Errors, Warnings, and Hitch (FPS drops). Other categories are available but hidden until you enable them.
For crashes with a long list of entries, the timeline loads more entries automatically as you scroll down — you do not need to click a "Load more" button.
Step 2: Read the timeline
Each entry in the timeline shows:
- Category badge — a color indicator and text label: red + "Error", yellow + "Warning", orange + "Hitch", purple + "ADT Activity", blue + "Info", indigo + "Engine", or green + "Game"
- Description — a short message from the log entry
- Relative time — how long before the crash the event occurred (for example, "3 minutes before crash")
All times are in UTC.
To read the full content of an entry, click it. The entry expands inline to show the complete log detail. Click it again to collapse it. Long messages wrap across multiple lines rather than being cut off, both in the expanded entry and in pin tooltips on the performance graph.
If an entry is a Game Event (a log line containing ADTGameEvent), name=value pairs in the message are visually highlighted — for example, Event=MissileFireRejected Player=BOT Reason=MissileLimit. This makes structured event data readable without parsing the raw log text.
Step 3: Filter the timeline
The filter panel sits directly above the timeline. Use it to control which categories are visible.
Standard filter categories (checkboxes):
| Category | Default state | What it shows |
|---|---|---|
| Errors | ON | Fatal: and Error: severity entries |
| Warnings | ON | Warning: severity entries |
| Hitch | ON | FPS drop events detected by ADT ([HitchDetector] entries) |
| Game Events | OFF | Log lines containing the ADTGameEvent keyword |
| Engine | OFF | Engine lifecycle events, such as map loads and world-ready notifications |
| ADT Activity | OFF | ADT SDK log entries not matching a higher-priority category |
| Informational | OFF | All other display-level entries |
Check or uncheck any category to show or hide those entries. The timeline updates within one second — no page reload needed.
To access additional log categories:
Below the standard checkboxes, an expandable section labeled "Show other log types" lists all additional log categories found in this specific crash's log data. Expand it and check any category to add those entries to the timeline.
To reset all filters to the default state:
Click the Reset button in the filter panel. This restores Errors, Warnings, and Hitch to ON, and all other categories to OFF. Custom filter chips are not removed by a reset — only the standard checkboxes are affected.
Filter selections persist while you navigate between crash reports in the same browser session, so you do not have to reconfigure the filter each time you open a different crash.
Step 4: Search the timeline by keyword
The search input sits above the timeline, alongside the filter panel.
Type any keyword to narrow the timeline to entries whose description contains that text. The timeline updates immediately as you type.
Keyword search works alongside your active filter checkboxes — both are applied at the same time. An entry must match either the active filters or the keyword to appear.
To clear the search and restore the full filtered view, delete the text from the search input.
Step 5: Create a custom filter
Use a custom filter to surface all log entries related to a specific player, entity, or event.
- In the filter panel, locate the Add filter... input below the standard checkboxes and the "Show other log types" section.
- Type a keyword or a
key=valuepair (for example,playerId=bob) and press Enter. - A filter chip labeled with your term appears in the filter panel. All entries whose message contains that text appear in the timeline immediately.
Notes:
- If you type a term with an
=sign, ADT matches entries whose message contains that exactkey=valuestring (case-insensitive). - If your term has no
=sign, ADT treats it as a plain keyword match against the full log message. - Multiple chips can be active at the same time. All active filters — standard checkboxes, custom chips, and keyword search — use OR logic. An entry is visible if it matches any one of them.
- A chip that matches nothing in the current crash log shows a "0 matches" indicator so you know the term did not appear.
- To remove a chip, click the × on it.
- Custom filter chips are cleared when you navigate away from the crash detail page or refresh the browser.
Step 6: Correlate events with the performance graph
Each log entry from this crash session appears as a clickable pin on the session performance graph.
- On the crash detail page, find the Session ID field in the General tab.
- Click the Session ID link. A tooltip on hover reads: "View session performance graph with breadcrumb pins."
- The session details page opens on the Basic Profiling tab. The performance graph shows CPU, GPU, Memory, and Frame Rate for the session. Each log entry appears as a circular pin directly on its metric line, positioned at the value the metric had when the event occurred — not in a fixed row above the chart.
Pin colors match the timeline category colors:
| Color | Category |
|---|---|
| Red | Error |
| Yellow | Warning |
| Orange | Hitch |
| Purple | ADT Activity |
| Blue | Informational |
| Indigo | Engine |
| Green | Game Event |
Clustered pins: When three or more entries occur within the same one-second window, they are collapsed into a single pin with a count badge (for example, "+4"). Click the badge to open a list of all entries in that cluster, each shown with a color-coded dot matching its category.
Clicking a single pin shows a summary popover: the event category (with a matching color-coded dot), description, and relative timing. You do not leave the graph view to read it. If the pinned entry is the crash itself, the crash event is shown in the popover the same way it appears in the Breadcrumb tab.
The timestamp shown for an entry here always matches the timestamp shown in the crash header and the Breadcrumb tab.
To dismiss a pin or cluster popover: click the close (✕) button in the popover, or click outside it.
To return to the crash detail page, use the browser back button or the in-app back button.
What to Expect
If the timeline shows only the crash marker: All log entries for this crash are in categories that are currently hidden. Check the filter panel and enable additional categories, or click Reset to return to the default state.
If the timeline is empty: No log data is available for this crash. This can occur for older crashes captured before the breadcrumbs feature was deployed, or for sessions that produced no log output. The crash summary and other tabs remain fully accessible.
If the timeline is loading: A spinner appears in the timeline area while data is being fetched. The timeline fills in automatically — you do not need to refresh the page.
If the timeline fails to load: After 10 seconds, an error state appears with a Try again button. All other sections of the crash detail page remain accessible while you wait or retry.
Troubleshooting
I enabled Game Events but no entries appeared.
The crash log for this session does not contain any log lines with the ADTGameEvent keyword. Game Events are surfaced from existing UE_LOG calls — if no calls in the session included that keyword, there are no entries to display. The checkbox remains available for future crashes that do include them.
I see entries marked "After crash." An entry with the "After crash" badge has a timestamp that falls after the crash moment. This indicates a timing anomaly in the log data. The entry is still displayed so you have visibility into it, but treat its placement in the timeline with caution.
My custom filter chip shows "0 matches." The term you entered does not appear in the log messages for this specific crash. The chip remains active and will match entries in other crash reports if the term appears there.
Pins are not appearing on the performance graph. This can occur if the session performance data was not captured, or if there was a timing mismatch between the crash log and the performance graph that prevented entries from being plotted. Entries affected by timing mismatches are still visible in the breadcrumb timeline even when they cannot be placed on the graph.
The performance graph loads but shows no data. Session performance data was not captured for this session. The graph shows its standard empty state. Breadcrumb pins only appear when both graph data and breadcrumb data are available.
I cannot see the "Show other log types" section. This section only appears when the crash log contains additional log categories beyond the six standard ones (Errors, Warnings, Hitch, Game Events, ADT Activity, Informational). If the section is not shown, all log categories in this crash log are already represented in the standard filter panel.
Next Steps
- Breadcrumbs Feature Doc — understand how the timeline works, how entries are categorized, and what is supported