AI-native Second Life development

Build in Second Life at the speed of thought.

JoyCode is a Second Life viewer with a real LSL IDE, a world-aware workspace, and an AI agent that reads your objects and edits your scripts right where you build.

Free to start. Available for Windows. No payment required.

JoyCode Viewer

One viewer. Three superpowers.

Workspace, IDE and Agent Chat are built to work as one, so creating, scripting and debugging never break your flow.

Workspace

A workspace that understands your build.

JoyCode watches what you select, the scripts you have open, and each prim's inventory in real time. Your tools and the agent always know exactly which object you are working on, down to the individual link.

  • Live linkset awareness: link numbers and names, scripts, and inventory across every prim
  • Edit several scripts at once, with unsaved changes flagged in the sidebar
  • Per-prim inventory watchers pick up adds, renames and deletions the moment they happen
Workspace · Vendor v2 (linkset, 26 prims)
Root · 3 scripts
vendor.lsl edited, unsaved
paymenu.lsl
textures · 12 items
Link 14 · "Display"
IDE

A real IDE for LSL, not a textarea.

Syntax highlighting, line numbers, autocomplete with function signatures, and project-wide search, all purpose-built for Linden Scripting Language inside the viewer.

  • In-editor command palette: type /assets to drop a texture key or notecard name, /variables for a global, /linkset for a link name or number
  • VSCode-style gutter bookmarks and global search across your scripts
  • Every AI edit is highlighted in the editor and reverts with a normal Ctrl+Z
vendor.lsl
Agent Chat

An agent that reads your world, then fixes it.

Ask in plain English. The agent inspects your scripts, objects and parcel, proposes a change, and applies it with the level of control you choose. It is pair-programming that actually sees what you see.

  • ASK mode shows a before/after diff and waits for approval; AUTO applies edits directly
  • Switch between a fast FLASH model and a deeper PRO model per session
  • Watch reasoning, tool calls and token usage stream live as it works
Agent Chat ASKFLASH

What the agent can actually do

Not just chat. The agent has real tools that read your build and change it safely.

Understands your build

Reads the linkset tree, object owner, type and permissions, prim inventory, the parcel's land budget and rez rights, and your avatar and region context.

Edits surgically

Targets a function, event or state by name (no fragile line counting), does precise search and replace, or rewrites a whole script. It can also create, rename, reset and delete scripts.

Checks its own work

After writing, it re-reads what is actually saved in-world and lints it, catching scripts that compile but do nothing: empty handlers, a missing default state, or a truncated body.

Stays reversible

Every patch is tracked and can be rolled back by id, and you can list the recent changes made during a session at any time.

Revives dead scripts

Flips the in-world Running checkbox without re-saving, fixing the classic "saved but dead" script that a failed compile left stopped.

Plans multi-step work

Registers a goal and ordered steps that persist across turns, so larger refactors stay on track instead of drifting.

Ask it like a teammate

Real questions, grounded in what the agent can inspect and change.

"Why isn't my door opening?"

It reads the script, checks whether it is actually running, lints the logic, and points at the handler that never fires.

"Add a pay button to this vendor."

It finds the right script on the root prim, adds the handler, and shows you the diff before anything is saved.

"Why does my rezzer fail?"

It checks the parcel and tells you object rez is not allowed here, instead of guessing at the script.

Ready to build smarter?

Download JoyCode and bring an AI agent and a real IDE into your Second Life workflow.