Getting it into your agent
One page per mod, every tool's command on it. A separate URL per tool would split the same page into five that compete with each other.
npx skills add sideshowroberto/vfx-agent-toolkit --skill unreal-python-scriptinggit clone --depth 1 https://github.com/sideshowroberto/vfx-agent-toolkitWrote this? Show the measurements
A badge with what this costs and how it scanned, read live from this page, so it follows the numbers instead of freezing them. Markdown for a README, HTML for a documentation site or a project page.
[](https://agentmods.dev/skills/sideshowroberto/vfx-agent-toolkit/unreal-python-scripting)<a href="https://agentmods.dev/skills/sideshowroberto/vfx-agent-toolkit/unreal-python-scripting"><img src="https://agentmods.dev/badge/skills/sideshowroberto/vfx-agent-toolkit/unreal-python-scripting/github.svg" alt="Measured on agentmods" height="20"></a>Or the 80×15 button, for a site that already has a row of RSS and ATOM ones. Only the verdict fits; the numbers stay here.
<a href="https://agentmods.dev/skills/sideshowroberto/vfx-agent-toolkit/unreal-python-scripting"><img src="https://agentmods.dev/badge/skills/sideshowroberto/vfx-agent-toolkit/unreal-python-scripting.svg" alt="Reviewed on agentmods" width="80" height="20"></a>What it costs to keep this loaded
Counted locally with the o200k_base tokenizer, which is exact for GPT models; Claude uses its own tokenizer and its counts differ. Treat this as one consistent yardstick across the catalogue rather than a bill. Prices are per million input tokens.
| Model | Per session | Once invoked |
|---|---|---|
| Fable 5.1 | $0.00054 | $0.02099 |
| Opus 5.5 | $0.00022 | $0.00840 |
| Sonnet 5.5 | $0.00011 | $0.00420 |
| Haiku 4.5 | $0.00005 | $0.00210 |
Grade A, and why
unreal-python-scripting scanned grade A with 0 findings against 26 rules in 11 categories — prompt injection, anti-refusal, data exfiltration, privilege escalation, supply chain, agent snooping, system-prompt leakage, SSRF and excessive agency — measured today.
A static scan of the body, not an audit. Every finding is printed with the line that produced it so you can judge whether it matters here. A mod is markdown that instructs an agent; that is exactly why what it instructs is worth reading.
Nothing flagged
None of the 26 patterns this scan looks for appear in this file: no shell pipes, no recursive deletes, no credential paths, no hidden text, no instruction-override or anti-refusal phrasing, no agent-config snooping. That is not a guarantee, it is the absence of the things that are checkable.
How it starts
The opening of the file, as written. The whole thing — 305 lines — stays where its author put it; the contents beside it link to each section on GitHub.
Unreal Python Scripting
Version: 2.0.3 Last Updated: 2026-10-09 Target: Unreal Engine 5.8+ Dependencies: unreal Python module (built-in), UE 5.8 native MCP (HTTP, port 8000)
Preflight first (2026-09-08): before the first build step of any approved plan, run the
unreal-project-preflightskill (ue_preflight.py --live --features <list> --plan-block) so plugins and project settings this skill depends on are enabled in ONE restart. Mid-task "class not found / plugin not enabled" errors go back to that Step 0, never to a runtime toggle.
MCP Execution
All Python code runs via mcp__ue58-mcp__execute_python_code(code=...) which executes directly in the UE editor process. VibeUE toolsets are also available via mcp__ue58-mcp__call_tool(toolset_name=..., tool_name=..., arguments={...}).
Use mcp__ue58-mcp__discover_python_module(module_name="unreal") to introspect available Python API.
- An execute call times out at about 30 s ("Python execution exceeded 30000ms") while the script keeps running in the editor. Split long work into short calls, and after a timeout read the state back instead of re-running - a timeout is not a failure.
Quick Start
Spawn Blueprint Actor
import unreal
# Load Blueprint (_C suffix required!)
bp = unreal.load_class(None, "/Game/BP_Actor.BP_Actor_C")
# Spawn
actor = unreal.EditorLevelLibrary.spawn_actor_from_class(
bp, location=unreal.Vector(0, 0, 100)
)
# Access component
comps = actor.get_components_by_class(unreal.StaticMeshComponent)
if comps:
comps[0].set_editor_property('mobility', unreal.ComponentMobility.MOVABLE)
Create Material Instance
import unreal
# Load master
master = unreal.load_asset("/Game/Materials/M_Master")
# Create instance
tools = unreal.AssetToolsHelpers.get_asset_tools()
instance = tools.create_asset(
"MI_Shot001", "/Game/Materials/Instances",
unreal.MaterialInstanceConstant,
unreal.MaterialInstanceConstantFactoryNew()
)
# Set parent
instance.set_editor_property('parent', master)
# Override parameters
unreal.MaterialEditingLibrary.set_material_instance_texture_parameter_value(
instance, 'BaseColor', unreal.load_asset("/Game/Textures/T_Tex")
)
unreal.MaterialEditingLibrary.set_material_instance_scalar_parameter_value(
instance, 'Opacity', 1.0
)
What ships with it
4 files beside SKILL.md in the same directory: the scripts, references and assets a skill reads on demand. Not counted in the per-session cost; read them before you install if any of them is executable.
What this file has done since we first saw it
Hashed on every crawl. A supply-chain change to an agent config is a question of when, not whether, so the history is kept rather than the latest state alone.
- today First seen · 305 lines · 54 tokens per session scan A 04e477c9388a
unreal-python-scripting is a skill published in the GitHub repository sideshowroberto/vfx-agent-toolkit (16 stars, last pushed 22d ago), licensed MIT. It adds 54 tokens to every session and 2,099 once invoked, about $0.0002 per session on Opus 5.5. A static security scan graded it A with 0 findings. No closer match exists in the catalogue, so it is treated as the original; first seen 2026-11-02.
Other skills, from other repositories
scenario-godot-multiplayer
Use when a Godot 4 game goes online or co-op: host and join with ENet, WebSocket for a web build, RPCs (@rpc, rpcid, anypeer), MultiplayerSpawner and MultiplayerSynchronizer, player authority, lobbies and login, a dedicated or headless server export, lag, rubber-banding, prediction or netfox, cheating, bandwidth…
usd-tools
Infrastructure skill — low-level OpenUSD scene inspection and validation: read layer stacks, traverse prims, validate USD schemas. Use when working directly with raw USD files (usda, usdc, usdz) or verifying USD compliance. Not for Maya-specific USD export — use maya-pipelineexportusd for that. Not for full DCC…
spatial-interchange
Plan deterministic coordinate-axis and unit conversions between DCCs, engines, and interchange formats from explicit right/up/forward axes and meters-per-unit values.
game-level-layout
Game level layout review helpers for editor contexts.
ue5-blueprint-workflow
UE5.6/UE5.7 Blueprint graph workflow for feature implementation, input events, node wiring, and graph validation. Use when requests involve adding Blueprint logic, keyboard input behavior, function chains, event graph edits, or pin-level connection guidance.
ue57-camera-transform
Set, get, and animate UE Editor viewport camera and CameraActor transforms safely. Prevents the common Rotator positional-argument trap (roll,pitch,yaw vs pitch,yaw,roll). Use when AI needs to: (1) move or rotate the viewport camera, (2) set a CameraActor's transform, (3) look-at a target location, (4) orbit around an…