Project layout and ownership
scripts/*.{lua,luau,js,py,cs,c,cpp,java}is user-owned gameplay source.scene/{scene-name}.scenecontains authored scenes. Existingscenes/*.rsceneprojects remain supported and are saved in place.ui/*.{html,css,js,php}is user-owned game UI source. HTML, CSS, and PHP entries outside this directory are rejected by the manifest loader.config/scripts.ronis the editor-owned, versioned asset registry. Developers do not edit it. Every source receives a stable Asset ID; editor moves/renames update the path transactionally while scene and object references remain unchanged.<Project>.code-workspaceand.rustic/generated/programming/*are reproducible engine output and carry a generated marker..vscode/settings.json,tasks.json, andlaunch.jsonare user-owned and never overwritten. Generated extension recommendations, API declarations, and protocol schema live below.rustic/generated/programming.
Use Programming to create a Global Startup, Scene Startup, or Object Component
script in any supported language. Use + Add Component in the Inspector or drag a
script from Explorer onto the viewport to attach an existing script to the selected
object. Use Open Project in Code Editor
or click a console source/frame to open the exact file, line, and column. Custom
editor argument templates are arrays of native arguments and support {file},
{line}, {column}, {project}, and
{workspace}; shell commands are never constructed.