<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/my-ai-agents-can-t-use-a-visual-editor-so-i-picked-an-engine-that-doesn-t-need-one-p2yt1n7to" -->

---
title: My AI agents can&#x27;t use a visual editor. So I picked an...
description: A developer building an AI-agent-driven game hit JavaScript&#x27;s single-core performance ceiling in three.js and switched to Bevy (Rust). The key requirement was...
canonical: https://daily.dev/posts/my-ai-agents-can-t-use-a-visual-editor-so-i-picked-an-engine-that-doesn-t-need-one-p2yt1n7to
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: My AI agents can&#x27;t use a visual editor. So I picked an engine that doesn&#x27;t need one | daily.dev
og:description: A developer building an AI-agent-driven game hit JavaScript&#x27;s single-core performance ceiling in three.js and switched to Bevy (Rust). The key requirement was...
og:url: https://daily.dev/posts/my-ai-agents-can-t-use-a-visual-editor-so-i-picked-an-engine-that-doesn-t-need-one-p2yt1n7to
og:image: https://api.daily.dev/og/posts/p2YT1n7tO.png
og:image:alt: My AI agents can&#x27;t use a visual editor. So I picked an engine that doesn&#x27;t need one
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# My AI agents can't use a visual editor. So I picked an engine that doesn't need one

**[Game Developers](https://daily.dev/sources/game_developers)** · [@miskibin](https://daily.dev/miskibin) · 2 min read · 18 upvotes · 10 comments

## Summary

A developer building an AI-agent-driven game hit JavaScript's single-core performance ceiling in three.js and switched to Bevy (Rust). The key requirement was a code-first engine with no visual editor, since AI agents can write code but can't interact with GUI tools like scene editors or inspectors. Bevy's ECS parallelizes systems across CPU cores by default, solving the performance problem. An added benefit: with everything defined in code, the entire game — including art — is version-controlled, diffable, and regenerable by agents from a spec.

## Content

I built my game in **three.js**. It worked — until it didn't.

I hit a wall that no amount of optimization was getting me past: **JavaScript runs on a single CPU core.** Once the sieges got big — hundreds of pathfinding enemies, waves, economy sim — one core just wasn't enough. I needed real parallelism.

So I went looking for an engine, with one unusual hard requirement: **it had to be code-first.**

Here's why. I don't build this game by hand — I build it with **AI agents**. And an agent can't drag a mesh around in a scene editor, tweak a material in an inspector, or nudge a light in a viewport. Every visual tool that helps a human _blocks_ an agent. What an agent _can_ do, brilliantly, is write code.

**Bevy** turned out to be perfect for exactly this:

- **No visual editor, no scene files** — every mesh, material, light and shader is _defined in Rust_. My agents author geometry as code: build primitives, tint vertex colors, merge, flat-shade. The whole world is a function.
- **Multi-threaded by default** — Bevy's ECS parallelizes systems across cores. The single-core wall is just gone.
- **Performance is genuinely great** — thousands of instanced props, real-time lighting, post-processing, and it holds framerate.

The kicker: because everything is code, the _entire game is reviewable, diffable, and version-controlled_ — including the art. My agents can regenerate a whole biome from a spec and I can read the diff.

Same game. New engine. Here's three.js (left) vs Bevy (right)
Old:
[tileworld](https://miskibin.github.io/tileworld/)
new: 
[miskibin/warbell: Action-RPG: a Bevy 0.19 / Rust game — town-building, night sieges, upgrades, bloodline succession](https://github.com/miskibin/warbell)

## Community discussion

Top comments from developers on daily.dev.

**@jondavis** · 2 upvotes

> what happened to web workers

**@redcodemohammed** · 1 upvotes

> Skill issue

**@ms\_bit** · 1 upvotes

> Have you tried raylib?

**@fabiornobrega** · 1 upvotes

> Try next time using monoGame with .net and C#; maybe you will get better results

**@fenenc** · 0 upvotes

> out of curiosity, did you compare bevy with godot?
>
> a friend of mine is building a side-project game in godot. he connected fable and built a harness around the engine, so pretty much everything is managed through claude code
>
> curious what your bevy setup looks like. feels like it should have better dx for this kind of agent-driven workflow

---

Tags: [#game-development](https://daily.dev/tags/game-development), [#ai-agents](https://daily.dev/tags/ai-agents), [#rust](https://daily.dev/tags/rust)

[View this post on daily.dev](https://daily.dev/posts/my-ai-agents-can-t-use-a-visual-editor-so-i-picked-an-engine-that-doesn-t-need-one-p2yt1n7to)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"DiscussionForumPosting","mainEntityOfPage":"https://daily.dev/posts/my-ai-agents-can-t-use-a-visual-editor-so-i-picked-an-engine-that-doesn-t-need-one-p2yt1n7to","headline":"My AI agents can't use a visual editor. So I picked an engine that doesn't need one","text":"A developer building an AI-agent-driven game hit JavaScript's single-core performance ceiling in three.js and switched to Bevy (Rust). The key requirement was a code-first engine with no visual editor, since AI agents can write code but can't interact with GUI tools like scene editors or inspectors. Bevy's ECS parallelizes systems across CPU cores by default, solving the performance problem. An added benefit: with everything defined in code, the entire game — including art — is version-controlled, diffable, and regenerable by agents from a spec.","url":"https://daily.dev/posts/my-ai-agents-can-t-use-a-visual-editor-so-i-picked-an-engine-that-doesn-t-need-one-p2yt1n7to","datePublished":"2026-07-18T17:11:56.475Z","dateModified":"2026-07-19T06:17:37.092Z","author":{"@type":"Person","name":"Michał Skibiński","url":"https://daily.dev/miskibin","image":"https://avatars.githubusercontent.com/u/77834536?v=4","interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"EndorseAction"},"userInteractionCount":280}},"image":"https://media.daily.dev/image/upload/s--TAj7OzSX--/f_auto/v1783512572/posts/fSN0h88po?_a=BAMAMicg0","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":18},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":10}],"comment":[{"@type":"Comment","text":"what happened to web workers","datePublished":"2026-07-18T19:38:42.661Z","url":"https://daily.dev/posts/p2YT1n7tO#c-g2KIocm5Y","author":{"@type":"Person","name":"Jon Davis","url":"https://daily.dev/jondavis","image":"https://lh3.googleusercontent.com/a/ACg8ocJV1noIv5BqO3woKLoYtwUwHAd-vCjE4tuVYuOvLvz4MeumNaAQ1A=s96-c"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":2}},{"@type":"Comment","text":"Skill issue","datePublished":"2026-07-20T10:58:57.707Z","url":"https://daily.dev/posts/p2YT1n7tO#c-3V5BmstEm","author":{"@type":"Person","name":"Mohammed Wisam","url":"https://daily.dev/redcodemohammed","image":"https://avatars3.githubusercontent.com/u/51872890?v=4"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":1}},{"@type":"Comment","text":"Have you tried raylib?","datePublished":"2026-07-22T16:53:37.704Z","url":"https://daily.dev/posts/p2YT1n7tO#c-FWfYwGabd","author":{"@type":"Person","name":"ms_bit","url":"https://daily.dev/ms_bit","image":"https://avatars.githubusercontent.com/u/5315140?v=4"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":1}},{"@type":"Comment","text":"Try next time using monoGame with .net and C#; maybe you will get better results","datePublished":"2026-07-22T13:07:34.120Z","url":"https://daily.dev/posts/p2YT1n7tO#c-b7hgBsmak","author":{"@type":"Person","name":"Fábio Rodrigues Nóbrega","url":"https://daily.dev/fabiornobrega","image":"https://avatars.githubusercontent.com/u/36975012?v=4"},"interactionStatistic":{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":1}},{"@type":"Comment","text":"out of curiosity, did you compare bevy with godot?\na friend of mine is building a side-project game in godot. he connected fable and built a harness around the engine, so pretty much everything is managed through claude code\ncurious what your bevy setup looks like. feels like it should have better dx for this kind of agent-driven workflow","datePublished":"2026-07-29T09:43:12.903Z","url":"https://daily.dev/posts/p2YT1n7tO#c-Abl4hZSic","author":{"@type":"Person","name":"Konrad Dębiec","url":"https://daily.dev/fenenc","image":"https://media.daily.dev/image/upload/s--O0TOmw4y--/f_auto/v1715772965/public/noProfile"}}],"isPartOf":{"@type":"WebPage","url":"https://daily.dev/squads/game_developers","name":"Game Developers"}}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"Game Developers","item":"https://daily.dev/squads/game_developers"},{"@type":"ListItem","position":3,"name":"My AI agents can't use a visual editor. So I picked an engine that doesn't need one"}]}
```

