-
Notifications
You must be signed in to change notification settings - Fork 1
Configuration
Configuration sits in two places. Global settings live in Project Settings → Plugins → Asset Standards Validator and cover the whole project: where to scan, what to skip, how much to log. The rules themselves live in UASVCheckerConfig assets, one or more of them, each holding its own validators and triggers.
A UASVCheckerConfig asset decides what gets checked and when. You get one without asking: on first run the plugin writes Content/Data/DA_ASV_AllarStyleGuide, with all six validators in it and a conservative set of checks on.
Tip: Open
DA_ASV_AllarStyleGuidein the Content Browser and expand any validator to see what it can check.





Double-click Content/Data/DA_ASV_AllarStyleGuide in the Content Browser. If it is not there yet, run one validation and the plugin will write it.
All six are present. Expand one to configure it.
| Validator class | What it checks |
|---|---|
ASVValidator_NamingConvention |
Asset naming: prefix, suffix, pattern, junk names |
ASVValidator_FolderStructure |
Folder placement, path format, Developers/ check |
ASVValidator_Texture |
Power-of-two, max size, sRGB, compression, LODGroup |
ASVValidator_Blueprint |
Variable naming, bool prefix, tooltips, compilation |
ASVValidator_Mesh |
Collision, LODs, Nanite policy |
ASVValidator_AssetHealth |
Stale redirectors |
Most checks ship off. That is deliberate: switching everything on for a project with history buries you in results nobody reads. Turn them on in groups, as the team agrees on each convention.
To turn on Blueprint variable checks:
- Expand ASVValidator_Blueprint
- Tick
bCheckBoolPrefixso booleans have to start withb - Tick
bCheckPascalCaseso variable names have to be PascalCase
To give your own asset type a prefix, say GA_ for Gameplay Abilities:
- Expand ASVValidator_NamingConvention
- Under Class Rules, click +
- Set Class Picker to
UGameplayAbility - Set Prefix to
GA_
Validators Reference lists every property and which rules ship off.
The auto-created config already has four triggers on, so assets get checked as you save, create and rename them. Under Triggers you can add the rest or clear the ones you do not want.
| Trigger class | When it fires | In the default config |
|---|---|---|
ASVTrigger_OnSave |
An asset is saved | on |
ASVTrigger_OnAssetCreated |
A new asset is created | on |
ASVTrigger_OnAssetRenamed |
An asset is renamed | on |
ASVTrigger_Manual |
You ask for it, from the panel or the Tools menu | on |
ASVTrigger_OnStartup |
The editor opens. Runs a full scan. | off |
ASVTrigger_OnPIE |
Play In Editor starts. Runs a full scan, and reports only: it does not stop Play. | off |
ASVTrigger_PreBeginPIE |
Just before Play starts, while the editor world is still whole. For level and world checks. | not added |
Under Filters you can narrow what this config covers:
| Property | Effect |
|---|---|
AssetPathFilters |
Only validate assets under these paths |
AssetClassFilters |
Only validate assets of these classes |
ExcludePaths |
Skip assets under these paths |
Every ASVCheckerConfig asset in the project is found on its own. There is no registration step and no setting to point at one. If bEnabled is ticked, the next run uses it.
Tip: Several configs can live side by side, one for art with the texture rules, another for Blueprints only. They all run. Watch the path filters, though: two configs over the same folder check every asset in it twice.
Project Settings → Plugins → Asset Standards Validator. Written to Config/DefaultAssetStandardsValidator.ini, so it belongs in source control.

| Property | Type | Default | Description |
|---|---|---|---|
ScanRoots |
TArray<FDirectoryPath> |
/Game (implicit) |
Content roots to scan. Empty = scan /Game only. Add /Game/ProjectName if your content is under a subdirectory. |
ExcludeScanRoots |
TArray<FDirectoryPath> |
Empty | Paths to exclude. Useful for excluding ThirdParty content or engine redirectors. |
bRecursiveScan |
bool |
true |
Scan subfolders of each root. |
IgnorePaths |
TArray<FString> |
Empty | Wildcard patterns to skip (e.g. Developers/*, ThirdParty/*). |
| Property | Type | Default | Description |
|---|---|---|---|
bOpenMessageLogOnIssues |
bool |
false |
Automatically open the Message Log when violations are found. |
bAutoOpenPanel |
bool |
true |
Opens the panel after a run started by Validate Now, Validate Folder or Run Full Audit. Turn it off if you live in the Content Browser and read the badges there. Open in Standards Validator and the Tools menu still open the panel either way, and when the panel is already open its results refresh quietly instead of grabbing focus. |
bVerboseLogging |
bool |
false |
Enable verbose logging for all ASV log categories. Useful for diagnosing validation issues. |
LogExamplesLimit |
int32 |
50 |
Maximum number of example violations to write to the output log. |
| Property | Type | Default | Description |
|---|---|---|---|
IgnoreAssets |
TArray<FString> |
Empty | Exact package paths to skip, for instance /Game/Characters/SK_Hero. For the handful of assets that break the rules on purpose. Right-click an asset and use Add to Ignore List to fill this without editing it by hand. |
IgnoreFolders |
TArray<FString> |
Empty | Folders skipped along with everything under them, for instance /Game/ThirdPartyArt. Right-click a folder and use Ignore This Folder to add one. |
| Property | Type | Default | Description |
|---|---|---|---|
bShowAssetBadges |
bool |
true |
Badge on asset thumbnails when something was found, coloured by the worst severity on that asset. Turn it off if overlays cost you frames on a very large project. |
bShowFolderBadges |
bool |
true |
Badge on a folder when something inside it has a P0 or P1. Needs UE 5.3 or newer; on 5.0 to 5.2 it does nothing. |
| Property | Type | Default | Description |
|---|---|---|---|
MaxBatchSize |
int32 |
0 (unlimited) |
Maximum assets to process per run. Set to e.g. 500 to prevent long hangs on large projects. Validation stops at the limit without error. |
The Naming and Folder validators both take a ClassRules array of FASVClassRule. A rule overrides the built-in defaults for one asset type.

| Field | Description |
|---|---|
AssetClassName |
UE class name to match (e.g. "MyCustomBlueprint"). Exact match. |
ClassPicker |
A class picker. Matches assets whose parent class is this one or anything below it, which is what you want for Blueprint hierarchies. |
Prefix |
Required prefix for this class (Naming validator) |
Suffix |
Required suffix for this class (Naming validator) |
AllowedSuffixes |
Set of allowed suffixes (if any are required, e.g. _P, _Audio for levels) |
TargetFolders |
Allowed folder paths for this class (Folder validator) |
Say you have MyEnemy extending Character, and those assets should be called NPC_Something and live in Characters/Enemies/:
- In Naming Convention Validator → ClassRules, add a rule with
AssetClassName = "MyEnemy",Prefix = "NPC_" - In Folder Structure Validator → ClassRules, add a rule with
AssetClassName = "MyEnemy",TargetFolders = ["/Characters/Enemies"]
Everything the CI commandlet takes (-run=ASVCommandlet):
| Argument | Default | Description |
|---|---|---|
-severity=P0 |
P0 |
Exit code 1 when anything at this severity or worse is found. Takes P0, P1, P2, P3. Leaving it out is not the same as switching failure off: an unset or unrecognised value falls back to P0, so a P0 violation still fails the run. |
-Root=/Game/Content |
from GlobalSettings | Root path(s) to scan, comma-separated. Overrides the ScanRoots setting. |
-checkers=Name1,Name2 |
all enabled | Run only these checker configs, by name, comma-separated. -all forces every one of them. |
-MaxAssets=1000 |
unlimited | Stop after this many assets, so a huge project cannot blow the CI timeout. |
-format=html |
none |
csv, json or html. Nothing is exported without it, and it does nothing without -output. |
-output=C:/Reports |
none | Directory to write the export. Required when using -format. |
-milestone=Sprint-42 |
empty | Optional label embedded in the report header. |
-report=report.json |
none | Writes JSON straight to this file. Older way of doing it; -format with -output is better. |
Reports covers the export formats and the exit codes.
This page is generated from the in-editor documentation. Do not edit it here. Edit Plugins/AssetStandardsValidator/Content/Docs/*.html and regenerate.