FabReady

IN DEV

Automated preflight QA for Fab marketplace submissions. Runs inside Unreal Engine — editor or commandlet.

18 rules · 7 categories · deterministic reports · CI ready

Demo video coming soon

Fab submissions get rejected for mechanical issues — broken references, missing collision, non-power-of-2 textures, messy folder structures. These are checkable problems, but there's no automated tool to catch them. FabReady is that tool.

Works With

FabReady validates whatever is in your project. Rules are asset-type-aware — they automatically apply to the content you have.

Environment Kits

Meshes, materials, textures, showcase levels

Props & Models

Collision, LODs, lightmaps, scale, naming

Texture Packs

Power-of-2, max resolution, sRGB correctness

Blueprint Systems

Compile errors, references, naming

Game Templates

Full project — all 18 rules fire

Code Plugins

Pack structure, plugin zip, folder layout

Validation Rules

18 rules across Structure, Assets, Meshes, Textures, Naming, Blueprints, and Audio. All rules are free — always.

RuleID
Pack structurefab.structure.pack_structure
Plugin zip integrityfab.structure.plugin_zip
Single root folderfab.structure.single_root
Showcase map presencefab.structure.showcase_map
Stale redirectorsfab.assets.redirectors
Unused assetsfab.assets.unused
Broken referencesfab.assets.broken_references
Duplicate namesfab.assets.duplicate_names
Missing collisionfab.meshes.collision
LOD presencefab.meshes.lod_presence
Lightmap UVfab.meshes.lightmap_uv
Import scalefab.meshes.scale_validation
Material slotsfab.meshes.material_slots
PoT & max sizefab.textures.validation
sRGB / Linearfab.textures.srgb_correctness
Prefix conventionsfab.naming.conventions
Compile errorsfab.blueprints.compile_status
Sample rate & channelsfab.audio.format_validation

How It Runs

In Editor

Window > FabReady > Run Preflight. Results appear in a dockable tab. Fix findings, re-run, iterate.

In CI / CLI

Commandlet with exit codes (0 = pass, 1 = fail, 2 = fatal). Runs headless. Outputs JSON + HTML reports.

$ UnrealEditor-Cmd.exe MyProject.uproject -run=FabReady -Policy=fab/v0

Loaded policy 'fab/v0' with 18 rules

[PASS] fab.structure.pack_structure
[WARN] fab.textures.validation — T_Rock: 300x300 not power-of-2
[FAIL] fab.assets.broken_references — M_Rock: missing /Game/T_Deleted
[PASS] fab.meshes.collision
[WARN] fab.meshes.lod_presence — SM_Tree: 45K tris, no LODs
[FAIL] fab.textures.srgb_correctness — T_Normal: sRGB on normal map
[PASS] fab.naming.conventions

Report: Output/report.html
Fingerprint: a3f8c1d2e4b6...
Exit code: 1

Reports

Every run produces a deterministic report — same project, same output, every time. SHA-1 fingerprinted for auditability.

HTML Report

Human-readable. Findings grouped by severity. Open in any browser. Share with your team.

JSON Report

Machine-readable for CI pipelines. Parse findings, track counts, feed into dashboards.

Fingerprinting

SHA-1 fingerprint per run. Compare reports to verify fixes. Evidence bundling with integrity hashing.

report.json
{
  "schema_version": "fabready.report.v0",
  "policy_pack_version": "0.1.0",
  "run_fingerprint": "a3f8c1d2e4b67890...",
  "summary": {
    "total_findings": 7,
    "errors": 2,
    "warnings": 5
  },
  "findings": [
    {
      "rule_id": "fab.textures.srgb_correctness",
      "severity": "error",
      "message": "Normal map has sRGB enabled",
      "asset_or_path": "/Game/Textures/T_RockNormal",
      "remediation": "Disable sRGB in texture properties"
    }
  ]
}

FabReady vs FabReadyPro

FabReady Free

Everything you need for Fab submission validation. Free forever.

  • All validation rules (18 today, 30+ planned)
  • Editor UI (Window > FabReady)
  • Commandlet for CI (exit codes 0/1/2)
  • HTML + JSON reports
  • Deterministic SHA-1 fingerprinted reports
  • Auto-fix (redirectors)
  • Extension API (IFabReadyRuleProvider)

FabReadyPro Studio

Everything in Free, plus studio workflow tools and industry-specific validation packs. Indie and Studio tiers — same features, different seat counts.

CI dashboard with run history

Track every preflight run across your team. See pass/fail trends over time.

Diff reports between runs

What changed since last run? What got fixed? What regressed? Side-by-side comparison.

JUnit / SARIF CI export

Drop FabReady into Jenkins, GitHub Actions, or any CI system that reads standard test formats.

Visual rule authoring

Create custom rules without C++. Pick asset type, set thresholds, define conditions — like Blueprint vs code.

Team seats + permissions

Manage who runs preflights, who reviews reports, who configures policies.

Priority support

Direct support channel. Help with rule configuration, CI integration, and custom policies.

Included industry validation packs

PackWhat It Validates
PerformanceTexture memory budgets · Mesh/draw call limits · Material complexity scoring
AR / VR / XRMeta Quest triangle budgets · Draw call thresholds · Frame budget validation
Virtual ProductionOCIO pipeline validation · nDisplay config checks · HDR texture requirements
Industrial VizDatasmith import validation · Scale accuracy for real-world measurement · Physics property checks
Defense SimMIL-STD-3014 compliance · DTED terrain accuracy · WGS84 coordinate validation

All packs use verified UE APIs and published industry standards. No NDA content.

Architecture

Policy Packs

Rules are defined in JSON policy files. Swap policies for different submission targets. Create your own. Severity levels are configurable per-project.

Extension API

Third-party plugins register custom rules via IFabReadyRuleProvider. Community rules, studio checks, and Pro packs all use the same API.

Auto-Fix

Some rules fix issues automatically. Redirector cleanup runs unattended — no dialogs, no source control prompts.

Open Data Formats (MIT)

Policy pack, rule definition, and report JSON schemas are MIT licensed. Parse FabReady reports in your CI. Create compatible policy packs. Build integrations. No restrictions on the data formats.