Script Catalog
Python utility scripts shipped in AgentUX Pro. These extend Free primitives with GraphRAG build tooling, multi-project asset scripts, and safety knowledge extraction. Each script reads configuration from config.yaml and supports CLI arguments for path overrides.
On This Page
- Overview
- Community Scripts
- Asset Tools
- Fab Tools
- Fab Cataloger
- Safety Knowledge
- Demos
- Workflow Demos
- Requirements
- Configuration
Overview
AgentUX Pro ships the Scripts/ directory: Python utility scripts covering asset pipeline automation, safety knowledge extraction, GraphRAG build tooling, and more. These scripts extend Free primitives -- Free customers can run every script a Pro customer writes and shares, at zero token cost. All scripts that accept file paths resolve them from config.yaml or CLI arguments; no hardcoded paths. Demo scripts (Demos/) ship with every tier including Free.
The Scripts/ directory is included with Pro; the Community Script library (below) is open to every tier. Compare tiers.
AgentUX/
├── Scripts/
│ ├── asset_tools/ # Asset scanning & showcase
│ ├── fab_tools/ # Fab inventory classification
│ ├── fab_cataloger/ # Automated Fab batch processing
│ ├── extract_safety_knowledge.py
│ ├── curate_safety_knowledge.py
│ └── import_safety_knowledge.py
├── Demos/ # Showcase demos
│ └── Workflows/ # 15 workflow examples
└── install.py # Post-download installer Community Scripts
The AgentUX Community Scripts repository on GitHub is a growing collection of user-contributed and officially published scripts. Every tier can run these, and customers can submit their own via pull request for vetting and sharing. We also publish new scripts here for every user.
Runs on Free
Scripts that only use the core editor-control surface. Free customers can run these without any paid tier.
project_health_report.py-- Full project health audit (asset counts, naming issues, references)naming_convention_enforcer.py-- Scan and flag assets that violate UE naming conventionsbatch_material_updater.py-- Bulk-update material parameters across multiple assetsblueprint_complexity_audit.py-- Analyze Blueprint graphs for complexity and refactoring candidateslevel_snapshot_diff.py-- Compare level snapshots and report changes between saves
Scripts that touch PCG, Niagara, Sequencer, Water, MetaSound, Vegetation, MeshPaint, StateTree, or Fab handlers run on Free too, provided the corresponding UE plugin is enabled; those 9 handlers are the only plugin-dependent ones in the 45-handler surface.
Pro Extensions
Scripts that use Pro-tier features: GraphRAG knowledge queries, accumulated session experience, safety knowledge, and the Scripts/ utility library documented below.
- Pro customers get everything above plus the Asset Tools, Fab Tools, and Safety Knowledge scripts on this page
Contributing
Submit your scripts via pull request at github.com/calibracer/agentux-community. All submissions go through a review process before being published. See the contribution guidelines for submission requirements.
Asset Tools
Scripts for scanning project assets into Neo4j and generating showcase levels. Located in Scripts/asset_tools/.
scan_ue_project.py -- UE Project Asset Scanner
Scans an open UE project's Asset Registry via the AgentUX WebSocket API and ingests assets into Neo4j as FabAsset nodes with full metadata (class, disk size, triangles, materials, LODs).
python Scripts/asset_tools/scan_ue_project.py --project-name "MyProject"
python Scripts/asset_tools/scan_ue_project.py --project-name "MyProject" --class-filter StaticMesh Requires: Running UE Editor with AgentUX, Neo4j, requests, websockets
scan_usd_assets.py -- OpenUSD Asset Scanner
Scans a directory of OpenUSD files (.usd, .usda, .usdc, .usdz) and ingests them into Neo4j. Complements the UE project scanner for USD-based asset libraries.
python Scripts/asset_tools/scan_usd_assets.py --base-path /path/to/usd/assets
python Scripts/asset_tools/scan_usd_assets.py --base-path /assets --clean --dry-run Requires: Neo4j, requests. Optional: pxr (OpenUSD Python) for metadata extraction
showcase_assets.py -- Asset Showcase Generator
Queries Neo4j for scanned assets, groups them by name affinity, sorts by bounding volume, and spawns them in the UE editor as a walkable showcase grid for level designers.
python Scripts/asset_tools/showcase_assets.py --project-name "QuixelTrees"
python Scripts/asset_tools/showcase_assets.py --project-name "MyProject" --max-assets 50 --dry-run Requires: Running UE Editor with AgentUX, Neo4j, requests
Fab Tools
Scripts for classifying and organizing Fab library downloads into UE category projects. Located in Scripts/fab_tools/.
classify_fab.py -- Fab Inventory Classifier
Reads a Fab inventory JSON file and classifies each pack into category projects (QuixelTrees, MedievalFantasy, SciFiEnvironments, etc.) based on seller, title, and listing type.
python Scripts/fab_tools/classify_fab.py --inventory-path /path/to/FabInventory.json Config key: fab.inventory_path
create_fab_projects.py -- Category Project Creator
Creates one UE project directory per category (with .uproject file and Content/ folder) at the configured catalog root. Projects are engine-version-aware via config.
python Scripts/fab_tools/create_fab_projects.py --catalog-dir /path/to/FabCatalog Config key: fab.catalog_dir
gen_fab_guide.py -- Download Guide Generator
Generates a FAB_DOWNLOAD_GUIDE.md that maps every Fab pack to its target category project. Use the guide to download packs into the correct project via the Epic Games Launcher.
python Scripts/fab_tools/gen_fab_guide.py --inventory-path /path/to/FabInventory.json --catalog-dir /path/to/FabCatalog Config keys: fab.inventory_path, fab.catalog_dir
Fab Cataloger -> Asset Inventory (migrated)
The original Fab Cataloger package was retired in the Asset Inventory Redesign (AIR) milestone. Its responsibilities -- Fab library sync, inventory export, pack-by-pack cataloging, and Neo4j ingestion -- are now handled by the multi-source Asset Inventory, which covers Fab, GameWalk, USD, and manual sources through a unified scan.
Current equivalent workflow
Scan a project (including its Fab content) into the local Asset Inventory via the CLI:
python Scripts/asset_tools/scan_project.py --project-path /path/to/Project.uproject Mirror the local inventory into Neo4j with one call (Pro tier):
python Scripts/asset_tools/sync_inventory_to_neo4j.py --project-path /path/to/Project.uproject Both scripts read project paths and Neo4j credentials from config.yaml. For the full multi-project, multi-source story (Slate panel, Usage Report, Migrate to Project dialog), see the Asset Inventory guide.
The legacy Scripts/fab_cataloger/ package and its sync_and_catalog.py CLI were removed when the underlying FFabCatalogerManager class was deleted in AIR-FIX-3. The editor.fab.catalog.baseline and editor.fab.catalog.commit JSON-RPC methods now return -32601 with a redirect string pointing at editor.inventory.scanProject.
Safety Knowledge
Scripts for extracting and importing UE engine safety assertions into Neo4j. Located in Scripts/.
extract_safety_knowledge.py
Parses UE engine source code for check(), checkf(), and ensure() assertions, outputting structured JSON with file locations and assertion text.
python Scripts/extract_safety_knowledge.py --engine-root /path/to/UnrealEngine curate_safety_knowledge.py
Auto-generates remediation text for extracted assertions using a two-tier curation system. Supports dry-run mode for preview.
python Scripts/curate_safety_knowledge.py --dry-run import_safety_knowledge.py
Creates Neo4j :Assertion and :UnsafeState nodes from extracted JSON, linking them to source files and handlers.
python Scripts/import_safety_knowledge.py --input safety_knowledge.json Requires: Neo4j, requests
Demos
Pre-built showcase demos demonstrating AgentUX capabilities. Located in Demos/. All demos extend demo_base.py and require a running UE Editor with AgentUX.
| Demo | Description |
|---|---|
demo_01_gallery.py | Static museum gallery -- pedestals, materials, cinematic lighting |
demo_02_park.py | PCG environment -- procedural trees, rocks, ground cover, spline fence |
demo_03_machine.py | Blueprint-driven kinetic sculpture with Timeline animation |
demo_04_tracking_shot.py | Multi-camera cinematic sequence with keyframed motion |
demo_05_render.py | Movie Render Queue output -- renders cinematic to video |
demo_06_showcase.py | Master sequence demo reel with fade transitions |
demo_safety.py | Safety guards demonstration -- two-layer protection system |
# Run a demo (UE Editor must be running with AgentUX)
python Demos/demo_01_gallery.py Workflow Demos
Reusable workflow examples demonstrating common automation patterns. Located in Demos/Workflows/. Each targets stock UE templates (Blank, Third Person, First Person, Top Down, Vehicle).
| Script | Description |
|---|---|
wf01_batch_scene.py | Batch actor spawning in structured grid with layers |
wf02_material_pipeline.py | PBR material creation, parameters, compilation |
wf03_lighting_rig.py | 3-point lighting + PostProcessVolume |
wf04_pcg_scatter.py | Procedural scatter with randomized transforms |
wf05_asset_audit.py | Project scan, asset classification reporting |
wf06_blueprint_generator.py | Health/damage system Blueprint with functions |
wf07_cinematic_pipeline.py | LevelSequence camera flythrough |
wf08_blueprint_template.py | Template bundling + Pattern Store |
wf09_dependency_analysis.py | Cross-asset dependency tracing |
wf10_version_migration.py | Multi-version API comparison via GraphRAG |
wf11_third_person_combat.py | Combat system with components and variables |
wf12_collectible_system.py | Collectible Blueprint + circular scatter |
wf13_arena_spawner.py | Multi-blueprint arena encounter setup |
wf14_checkpoint_course.py | Figure-8 checkpoint course + camera flythrough |
wf15_strategy_units.py | 3x3 formation grid with unit types |
# Run a workflow demo
python Demos/Workflows/wf01_batch_scene.py Requirements
| Dependency | Used By | Install |
|---|---|---|
| Python 3.10+ | All scripts | python.org |
requests | Asset tools, Fab cataloger, safety scripts | pip install requests |
websockets | Demos, workflows, scan_ue_project | pip install websockets |
| Neo4j 5.x | Asset tools, safety scripts, Fab cataloger | neo4j.com/download |
pyyaml | Config loader (all scripts) | pip install pyyaml |
Install all script dependencies at once:
pip install -r requirements.txt Configuration
All scripts read settings from config.yaml via the GraphRAG config_loader. Copy config.dist.yaml to config.yaml and set your paths:
# config.yaml -- key settings for scripts
fab:
inventory_path: /path/to/FabInventory.json
catalog_dir: /path/to/FabCatalog
neo4j:
uri: bolt://localhost:7687
user: neo4j
password: your-password CLI arguments always override config.yaml values. See Configuration Guide for full reference.