Deutsch — Offizielle Deutsch-Version / Documento Oficial en Deutsch.
Note: Not affiliated with Roblox Corporation; "Roblox" is a trademark of its owners. "rbx" is the common community shorthand.
Roblox Studio — Editor, Test, Assets, MCP (Deutsch)
Übersicht & Zweck
Roblox Studio is the official editor: build the 3D scene, test the game in play mode,
insert assets from the Creator Store, and publish the place. In a Rojo workflow,
Studio owns the scene (Workspace, Terrain, placed models) and the testing —
the code comes via Rojo from the filesystem (see skill /rojo).
This skill covers: Studio basics, the clean separation of scene and code work, AI control via the Roblox-Studio-MCP, and the asset workflow including the mandatory malware scan for every marketplace asset.
Basics
- Explorer — tree of all instances (Workspace, ServerScriptService, ReplicatedStorage, …). With Rojo active, the mapped areas are populated live from the filesystem.
- Play-Test — the green Play button (or F5) starts a local server+client session. After every start, check the Output console for errors — the most important debug reflex.
- Save place — File → Save As →
.rbxl(binary) or.rbxlx(XML, diffable). The saved place contains the scene. Code lives in the filesystem, not in the place.
The critical workflow: scene mode vs. code mode
On Connect, Rojo overwrites all mapped script areas with the filesystem content.
The Workspace (3D scene) is not mapped and stays intact. From this follows the
most important rule of daily work — never mix the two modes:
Mode A — edit the scene (Rojo OFF):
- Stop the Rojo server (
taskkill //F //IM rojo.exeor Ctrl+C). - Open the place in Studio, place assets, build the world, arrange.
- File → Save → the
.rbxlnow holds the new scene.
Mode B — test the code (Rojo ON):
- Open the same place in Studio.
- Start
rojo serve→ in Studio's Rojo plugin → Connect. - Press Play and test. Rojo syncs the scripts; the Workspace comes from the
.rbxl. - While Rojo is running, do not save (otherwise the Rojo state freezes into the
.rbxl).
This way, scene work (Studio) and code work (editor + Rojo) can run in parallel and conflict-free — artists build scenes, developers write code.
Roblox-Studio-MCP — AI controls Studio
The Roblox-Studio-MCP lets Claude/Gemini/Codex directly control a running Studio instance: execute code, inspect, Play/Stop, read the Console, insert assets. It does not replace Rojo — it complements it: Rojo for persistent code changes, MCP for inspection, tests, asset insertion, and material generation.
Editor + Rojo ──(persistenter Code-Sync)──► Studio (laufend) ◄──(Inspektion/Test/Insert)── MCP ◄── KI
Available MCP tools (typical)
| Tool | Purpose |
|---|---|
list_roblox_studios / set_active_studio |
list open instances / select the active one |
search_game_tree / inspect_instance |
search the hierarchy / read properties |
execute_luau |
execute Luau code directly in Studio |
script_read / script_grep / script_search |
analyze scripts |
multi_edit |
change multiple instances/scripts in a batch |
start_stop_play |
control Play/Stop |
get_console_output |
read the Output log |
screen_capture |
screenshot of the scene |
insert_from_creator_store |
insert an asset from the Creator Store |
generate_material |
generate an AI material/texture (MaterialVariant) |
character_navigation / user_keyboard_input / user_mouse_input |
simulate input |
Setup (user-neutral)
The MCP runs as a server shipped with Studio, often connected via a thin JSON-filter wrapper (it filters out non-JSON banners that some clients otherwise cannot parse):
- MCP batch (Windows):
%LOCALAPPDATA%\Roblox\mcp.bat - optional wrapper:
<your roblox-mcp wrapper>(if present on this system; shared by Claude/Codex/Gemini) - Client configs:
~/.claude/mcp.json·~/.codex/config.toml·~/.gemini/antigravity/mcp_config.json
Example entry (~/.claude/mcp.json):
{
"mcpServers": {
"Roblox_Studio": {
"command": "node",
"args": ["<your roblox-mcp wrapper>",
"cmd.exe", "/c", "%LOCALAPPDATA%\\Roblox\\mcp.bat"]
}
}
}
Common MCP problems
| Symptom | Meaning / fix |
|---|---|
studios: [] or Not connected to WS host |
not immediately "broken": send initialize → wait 2–3 s → list_roblox_studios; otherwise restart Studio |
Error: connection closed: initialized request |
Studio is not open at all — start Studio, load the place, try again |
| scripts written via MCP gone after Play/Stop | MCP edits to code are not persistent — for lasting code changes use Rojo |
value via require() in the plugin VM is wrong |
the plugin VM has its own require cache — to verify, read .Source directly or check the server log after Play |
Asset pipeline (Creator Store → game)
Greybox first (gameplay), assets later (before release). The proven sequence:
STORE DURCHSUCHEN → z. B. "medieval" → mehrere Kandidaten laden
AUSSORTIEREN → stilfremde/hässliche raus, 5–8 passende behalten
BEREINIGEN → ALLE Scripts entfernen (Malware!), nur Geometrie/Meshes behalten
KIT / SET BAUEN → aus Basis-Assets Varianten ableiten (gleiche Materials/Proportionen)
SZENE BAUEN (Studio)→ Assets zur Kulisse zusammensetzen (Dorf, Arena, Park)
ALS .RBXL SPEICHERN → die Kulisse ist die "Bühne"
ROJO BELEBT ES → Scripts/Gameplay/HUD kommen per Rojo dazu; Workspace bleibt unangetastet
Variant technique ("modular kit"): Take a good base asset and derive a whole set from it (house → tower, barn, smithy, ruin). They all share materials, colors, and proportions → a consistent look with minimal effort, the way pro studios do it.
Asset sources (priority): Creator Store (free, huge, malware check mandatory) →
AI materials (generate_material) → your own meshes (Blender → .fbx) → purchased asset packs.
MANDATORY: malware scan for marketplace assets
Creator Store assets can contain obfuscated malicious scripts (backdoors, remote code, bot-network hooks). Scan every imported asset before use and remove all scripts — keep only geometry/meshes.
- Pattern reference:
references/malware-patterns.md— the 8 known obfuscation patterns (reversed attribute payload, fake system script, remoterequire(),loadstring,string.char,getfenv/setfenv, hidden Values, delayed execution). - Scanner:
scripts/scan_asset_malware.luau— run it in Studio viaexecute_luau(or the Command Bar); it checks an instance against all patterns and reports finds.
Red flags immediately: a large script in a pure decoration model · reversed strings in
attributes · require(<number>) · loadstring · HttpService in an asset that needs no
networking. When in doubt: delete the script. Document finds (e.g. _malware_reports/YYYY-MM-DD_*.md
in the reference pipeline).
Important Luau/Studio pitfalls (excerpt)
The most common ones that bite in Studio — the full list is kept by the skill /rbx-dev:
Model.Positiondoes not exist →model:GetPivot().Position.tick()is deprecated →os.clock()/workspace:GetServerTimeNow().SetPrimaryPartCFrame()deprecated →model:PivotTo(cf).- DataStore calls always in
pcall. - Baseplate + procedural floor at the same height → Z-fighting (flicker): remove the baseplate or raise the floor by +0.1 studs.
- Keep an eye on the part budget (~50–80 parts per procedurally generated room).
Further reading
- Sister skills:
/rojo(sync, project setup),/game-design(roles, workflows, GDD), meta skill/rbx-dev(architecture patterns + all Luau lessons). - Engine/Creator docs: Context7 MCP (
/websites/create_roblox_reference_engine,/roblox/creator-docs) or https://create.roblox.com/docs. - Reference pipeline (if present):
<your Roblox project pipeline>(ROBLOX_MCP_FAQ.md,ASSET_PIPELINE.md,_malware_reports/PATTERNS.md).
Änderungsprotokoll
1.0.0 (2026-06-17)
- Initial version. Distilled from the
.ROBLOXpipeline (ROBLOX_MCP_FAQ, ASSET_PIPELINE, PATTERNS, LESSONS_LEARNED), written user-neutral.