You are browsing as a guest. Sign up (or log in) to start making projects!

1h 34m 49s logged

Building Visora: Teaching AI agents to actually see and fix Unity scenes (v0.1.0 update)

Quick update on what I’ve been hacking on for Visora since adding the project banner.

The problem I ran into: If you try to let an AI agent (like Claude or Cursor) work inside Unity, it’s usually a disaster. Current bridges just let the model run raw C# strings and read console logs.The agent is completely blind. It doesn’t know if a 3D character spawned behind the camera, if an animation is flying off into infinity, or if a model looks like a spiky mess because bone weights are broken. Even worse, agents love to edit things during Play Mode or hit save while Unity is recompiling, completely wrecking the scene files.I got tired of babysitting that, so I built Visora — a Python MCP server and a companion Unity package that gives agents actual eyes, rigging smarts, and guardrails so they don’t break your project.

V0.1.0 —

Here is what I’ve coded and got working over the last few days:

  1. Gave the agent actual vision. The agent can now render screenshots from any camera in the scene, check if a character is cut off by the screen edges or clipping planes (project_world_points and diagnose_camera_framing), compare before/after images, and even record short MP4/WebP video clips to inspect physics and animations over time.

  2. Made it understand rigs and animations. Instead of guessing why an animation looks wrong:
    It inspects AnimationClip curves directly and catches unwanted position or scale drift.
    It can sample any character’s pose at a specific second, inspect the transforms, and immediately restore the original pose so nothing stays messed up.
    Added a skeleton mapper with fuzzy bone search that understands both standard Humanoid rigs and messy Japanese MMD bone chains (like 全ての親, センター, 下半身, D-bones).

  3. Skinned mesh diagnostics Added tools to inspect SkinnedMeshRenderers. It detects inverted or zero-sized bounding boxes, missing root bones, and broken bone weights. It also tells you whether a glitch is just a missing material/texture or an actual broken mesh deformation.

  4. Made scene edits safe (undo & transaction rollback). Every script the agent runs now happens inside an isolated Undo group. If the C# code crashes or throws an exception, Visora automatically rolls back the entire scene to before the run. It also blocks saving during Play Mode so your scene never gets corrupted.

  5. Native Unity package + 24 typed tools Built a native Unity Editor package (com.visora.editor) using HttpListener hooked directly into Unity’s main editor update loop. On the Python side, I implemented 24 clean MCP tools with strict Pydantic schemas, auto-discovery for ports 8080-8085, and async queue polling for long tasks.

Tagged and released v0.1.0 on GitHub with complete setup guides, agent recipes, and test coverage.

What I’m building next for v0.1.1:

Auto 3D model web search & download: I want the agent to search the web, find 3D models, textures, and environments, and download/import them directly into the Unity project so it can build and animate entire scenes on its own.

Clean GitHub Actions CI/CD: Automatic linting, typing, and test runners on every commit.

Docker support: A lightweight Dockerfile to easily run the MCP server anywhere in a headless container.

You can check out the code and the v0.1.0 release here: https://github.com/AmaLS367/Visora

0
38

Comments 0

No comments yet. Be the first!