Navigation
| Name | ShaderAuditCore |
| Type | Developer |
| Part of Plugins | Shader Toolkit |
| Location | /Engine/Plugins/Developer/ShaderToolkit/Source/ShaderAuditCore/ |
| Module Build Rules | ShaderAuditCore.Build.cs |
Classes
| Name | Remarks |
|---|---|
| FScopedProgressTask | RAII progress reporter that works in both editor and standalone. |
| FShaderBytecodeDatabase | A database that maps OutputHash -> shader metadata (and optionally bytecode). |
| SListView | |
| SMaterialDiffTable | |
| SShaderAuditWidget | Top-level widget for the Shader Audit tab/window. |
| SShaderCostTreeMap | Interactive shader cost treemap with folder navigation and detail panel. |
| SShaderSessionView | Session document view toolbar (view toggle) over a widget switcher containing spreadsheet, raw SHK, cost treemap, and extension-contributed views. |
| STreeView |
Structs
| Name | Remarks |
|---|---|
| FSessionCacheOptions | Which file categories to include when caching. |
| FSessionFileInventory | Inventory of all files associated with a session Used to present caching options to the user before copying. |
| FShaderArchiveSource | Bookkeeping for a single .ushaderbytecode file so we can go back and read bytecodes on demand without keeping the whole file in memory. |
| FShaderAuditExtensionContribution | A single contribution an extension makes to the session view UI. |
| FShaderAuditSession | A loaded SHK session the core data unit shared between the editor plugin and the standalone ShaderAuditViewer. |
| FShaderBytecodeInfo | Lightweight per-shader metadata extracted from .ushaderbytecode headers. |
| FShaderDetailRow | A row in the detail panel (top-N assets or per-shader breakdown) |
| FShaderFilterNode | A filter expression tree node. |
| FShaderFolderNode | ============================================================================ Shared data types used by session, widgets, and MCP commands. |
Interfaces
| Name | Remarks |
|---|---|
| IShaderAuditExtension | Extension point for the ShaderAudit session view. |
Typedefs
| Name | Type | Remarks | Include Path |
|---|---|---|---|
| FMaterialDiffNodePtr | TSharedPtr< FMaterialDiffNode > | Widgets/SMaterialDiffTable.h | |
| FOnExtendShaderAssetContextMenu | TBaseDelegate_TwoParams< void, FMenuBuilder &, const FString & > | Caller-supplied hook to add extra entries to a material asset's right-click context menu. | Widgets/SShaderCostTreeMap.h |
| FOnFetchMaterialHierarchy | TBaseDelegate_OneParam< void, TSharedPtr< FShaderAuditSession > > | Caller-supplied hook to populate a session's material parent map (typically: walk the editor's Asset Registry). | Widgets/SShaderSessionView.h |
| FOnNavigateToShaderAsset | TBaseDelegate_TwoParams< void, const FString &, bool > | Caller-supplied hook to navigate to an asset (typically: focus content browser, or open the asset editor when bCtrlDown is true). | Widgets/SMaterialDiffTable.h |
| FOnOpenShaderAssetInContentBrowser | TBaseDelegate_OneParam< void, const FString & > | Caller-supplied hook to "open this asset in the content browser" (or equivalent navigation). | Widgets/SShaderCostTreeMap.h |
| FOnSessionsChanged | TMulticastDelegate_NoParams< void > | Simple multicast event for "sessions changed" notification. | Widgets/SShaderAuditWidget.h |
Enums
Public
| Name | Remarks |
|---|---|
| EShaderFilterField | ============================================================================ Shader Filter |
| EShaderFilterOp | Comparison operators. |
Functions
Public
| Name | Remarks | Include Path | Unreal Specifiers |
|---|---|---|---|
TArray< TSharedPtr< FShaderDetailRow > > BuildMaterialDetailRows
(
const FShaderAuditSession& Session, |
Build detail rows for a material's shaders. | ShaderAuditTypes.h | |
void BuildVisibleShaders
(
const FShaderAuditSession& Session, |
Build a TBitArray from a list of filter nodes (AND'd together) plus a refcount cap. | ShaderAuditSession.h | |
FSessionFileInventory CacheSessionFiles
(
const FSessionFileInventory& Inventory, |
Copy selected session files from the inventory to a local directory. | ShaderAuditSession.h | |
bool ClearCachedSessionDir
(
const FString& DirToDelete |
Delete cached shader files (.shk, .ushaderbytecode) under the given directory. | ShaderAuditSession.h | |
void GetShaderFilterSuggestions
(
const FString& Text, |
Populate filter autocompletion suggestions for a filter expression text box. | ShaderAuditSession.h | |
bool IsNetworkPath
(
const FString& Path |
============================================================================ Session File Caching (NAS -> local) | ShaderAuditSession.h | |
bool ParseFilterFieldName
(
FStringView Name, |
Map a field name string (e.g. "asset.class") to its enum value. | ShaderAuditSession.h | |
bool ParseFilterOp
(
FStringView OpStr, |
Map an operator string (e.g. "==") to its enum value. | ShaderAuditSession.h | |
bool ShowCacheSessionDialog
(
const FSessionFileInventory& Inventory, |
Show a modal dialog letting the user choose which file categories to cache and where to cache them. | ShaderAuditSession.h | |
| Tokenize a filter expression into individual tokens (views into the input string). | ShaderAuditSession.h | ||
FString UE::ShaderAudit::Utils::FormatBytes
(
uint64 Bytes |
Format a byte count as human-readable (B / KB / MB / GB). | ShaderAuditTypes.h | |
FString UE::ShaderAudit::Utils::FormatCost
(
float Cost, |
Format a cost value for display. | ShaderAuditTypes.h |