um scan
Find installed games and fingerprint one: engine, scripting runtime, anti-cheat, mod loaders, saves. Read-only. Ends with ranked routes and the playbook to read.
um scan --list # Steam / Epic / Xbox installs (Windows, WSL, Linux, macOS)
um scan terraria # fuzzy name or a path
um scan "C:\Games\Foo" --json # machine-readable, for agentsum fal
Game assets from fal over plain REST. Needs FAL_KEY. Every call appends to a manifest so any asset can be traced and regenerated.
um fal sprite "a rusty scrap drone enemy, side view, 16-bit pixel art" --name drone
um fal image "key art: ..." --aspect 16:9
um fal edit "same drone, second animation frame" --ref assets/gen/drone.png
um fal rmbg in.png # background removal
um fal pixelate in.png --colors 24
um fal texture "mossy cobblestone" # seamless tiling
um fal pbr "rusted sheet metal" # basecolor/normal/roughness/metalness/height
um fal model3d concept.png # image -> textured GLB (Trellis 2)
um fal rig character.glb --animate # auto-rig a humanoid
um fal sfx "laser rifle shot" --seconds 1.5
um fal music "tense boss battle, chiptune, 140 bpm" --seconds 60
um fal voice "You dare challenge the Mothership?" --voice-id Adam
um fal video still.png "camera orbits the boss"
um fal search "image to 3d" | um fal schema fal-ai/trellis-2 | um fal price fal-ai/trellis-2um comfy
Images from a local ComfyUI server: no API key, your own GPU. Run any workflow exported with Export (API).
um comfy status
um comfy image "a red health potion" --sprite # plain background, then cut out
um comfy run my_workflow.json --set 6.text="a blue mana potion" --set 3.seed:=42um sprite
Turn generated art into the exact frames a game expects.
um sprite cutout in.png out.png # flat background -> transparent
um sprite fit in.png out.png --size 64x26 # trim + nearest-neighbour fit
um sprite pixelate in.png out.png --size 32x32 --colors 16 --outline
um sprite palette in.png out.png --from ref.png # snap to a game's palette
um sprite sheet out.png f1.png f2.png --cols 4
um sprite slice sheet.png outdir --frame 32x32
um sprite frames in.png outdir --n 3 --kind bob # quick idle animation
um sprite team-mask in.png out.png --hue blue # player-colour mask
um sprite seamless in.png out.pngum render3d
Render a GLB into sprite frames from a game's camera with Blender. Presets: aoe2 (16 headings), iso8, trueiso, topdown, side, turntable.
um render3d model.glb out/ --preset aoe2 --length 80 --anims idle:10:bob,walk:12:bob --shadows
um render3d model.glb out/ --preset side --canvas 128 --length 110
um render3d model.glb out/ --preset iso8 --canvas 256x256 --engine eeveeum win
Drive Windows games from an agent, natively or from WSL: GPU-safe window capture, input that only reaches the game, recording with game-only audio.
um win setup # PowerShell tools + ffmpeg with gfxcapture
um win ps [name]
um win launch --steam 105600 -- -windowed
um win shot --exe AoE2DE_s.exe out.png --scale 0.33
um win drive --proc AoE2DE_s "focus" "click 640 360" "key 0x1B"
um win record --exe Game.exe --out C:\caps\take1 --seconds 30
um win kill <pid> # exact PID only
um win reg set KEY VALUE DATA --type REG_DWORD # backs up firstum video
Showcase videos with ffmpeg and Pillow: contact sheets to pick moments, then an EDL (JSON) compiled into a titled, beat-cut video with music.
um video contact clip.mp4 sheet.png --every 2
um video first-frame take.mkv
um video beats music.mp3
um video mux take.mkv take.mkv.audio.raw take.mkv.json out.mp4
um video compile edl.json out.mp4 --previewum backup
Snapshot, diff and restore save folders. A restore snapshots the current state first, so it can itself be undone.
um backup create "C:\Users\me\Documents\My Games\Terraria" --name terraria-saves
um backup list
um backup diff terraria-saves
um backup restore terraria-savesum publish check
Lint a mod folder before sharing. Fails on byte-identical game files, leaked keys and .env files; warns on decompiler fingerprints, big engine archives, absolute paths and missing credits.
um publish check ./MyMod --game "C:\Program Files (x86)\Steam\steamapps\common\Terraria"um kb
The shared knowledge base. Search works outside the repo too, from a synced GitHub copy.
um kb search "unreal pak mod"
um kb search terraria --route loader-api
um kb show games/terraria/fal-arsenal.md
um kb new --game "Hades II" --title "A new boon god" --from-scan "hades"
um kb check knowledge/games/hades-ii/new-boon-god.md
um kb pr knowledge/games/hades-ii/new-boon-god.md --yes # after your human says OKExamples adapted from each module's built-in help in um/. Two no-build Windows tools ship alongside: WinDrive input and ProcLoopback game-only audio (PowerShell with embedded C#).
Frequently asked questions
How do I install the um CLI?
Plugin installs and clones put it on PATH. Anywhere else: uv tool install git+https://github.com/rehan-remade/universal-modder (or pipx install). See the install guide.
Does um need an AI agent?
No. It's a normal Python CLI and every command works by hand. It was designed so agents can call it, with --json output where it matters.