gamedev-skills/awesome-gamedev-agent-skills

roblox-studio-workflow

Modify living Roblox Studio projects safely: inspect Explorer and execution locations, preserve existing structure, reuse modules/remotes, create meaningful Instances, apply Attributes and CollectionService tags, test server/client and multiple devices, ins…

Quelltext ansehen
Originales Skill-Dokument

Aus dem Quell-Repository gerendert; Überschriften, Beispiele, Code, Tabellen, Links und Bilder bleiben erhalten.

Roblox Studio workflow

Work as a collaborator inside an existing place, not as if it were a blank text repository. Targets current Roblox Studio and rolling platform APIs.

When to use

  • Use before invasive edits to a Roblox place, Studio DataModel, or Rojo-backed project.
  • Use to plan execution location, find/reuse systems, create editable Instances, and gather honest

Studio verification evidence.

When not to use: this skill owns project operation, not the domain implementation. Compose it with roblox-ui, roblox-networking, roblox-characters, roblox-physics, roblox-luau, or roblox-datastores as appropriate.

Workflow

  1. Establish source of truth. Determine whether Studio, Rojo files, a package manager, or a

generated build owns each subtree. Do not hand-edit generated output or create Studio-only changes that the next sync overwrites.

  1. Inventory before proposing structure. Inspect Explorer, search scripts/modules/remotes/tags,

read project mapping and naming conventions, and run once to observe existing warnings. Locate the feature's current owner and dependencies.

  1. Plan the smallest compatible edit. Name the Instances and execution locations you will

change. Reuse existing remotes, component modules, cleanup utilities, tags, Attributes, folders, and configuration patterns. State any unresolved ownership boundary.

  1. Create real, meaningful objects. Normal authored UI, folders, attachments, constraints,

remotes, and configuration remain inspectable in Explorer. Use scripts for behavior and truly dynamic repetition—not to hide the entire feature in runtime construction.

  1. Respect execution and replication. Put authoritative logic in server containers, persistent

client logic in StarterPlayerScripts, per-character client logic in StarterCharacterScripts, UI templates in StarterGui, shared assets/modules/remotes in ReplicatedStorage, and secrets/server assets in server-only containers.

  1. Test the actual risk. Choose Play, Play Here, Run, Server & Clients, Device Emulator,

Controller Emulator, or scripted Studio testing based on the behavior. Inspect server and client Output, not only the viewport.

  1. Clean the experiment. Remove temporary parts, test remotes, command-bar scripts, debug UI,

prints, disabled duplicate scripts, placeholder assets, and tags/Attributes created only for diagnosis. Stop the session and confirm edit-mode hierarchy is clean.

  1. Report evidence precisely. List changed Instances/files, modes and client counts, cases

executed, observed Output, failures and fixes, and anything not run. Never translate “looks plausible” or static inspection into “tested in Studio.”

Execution-location map

LocationTypical roleKey constraint
ServerScriptServiceauthoritative server Scripts/modulesnot replicated to clients
ServerStorageserver-only assets/dataclients cannot access it
ReplicatedStorageshared modules/assets/remotesvisible to clients; do not store secrets
StarterPlayerScriptsclient systems across respawnsclone into PlayerScripts
StarterCharacterScriptsper-character client behaviorrecreated each character
StarterGuiauthored UI templatesclones into PlayerGui; lifecycle depends on GUI policy
Workspacereplicated world and live charactersstreaming/ownership may affect client view

Verify actual Script RunContext and project conventions; class/location shorthand does not excuse inspection of an existing custom setup.

Reuse before adding

Before creating a RemoteEvent, search by purpose and inspect both endpoints. Before adding a “manager” or service module, identify the current feature owner. Before introducing folders/tags, inspect naming and retrieval patterns. Duplicate systems are especially dangerous when both run: they double-bind input, save twice, create two UI clones, or apply gameplay twice.

Use Attributes for small typed designer-editable metadata that belongs on an Instance. Use CollectionService tags for discovering sets of Instances across hierarchy. Use folders for ownership/navigation, not as a substitute for semantic tags. Preserve established schemas and validate missing/malformed Attributes at system boundaries.

lua
local CollectionService = game:GetService("CollectionService")

local function setupDoor(instance: Instance)
    if not instance:IsA("Model") then return end
    local accessLevel = instance:GetAttribute("AccessLevel")
    if type(accessLevel) ~= "number" then
        warn(`Door {instance:GetFullName()} needs numeric AccessLevel`)
        return
    end
    attachDoorBehavior(instance, accessLevel)
end

for _, door in CollectionService:GetTagged("Door") do setupDoor(door) end
CollectionService:GetInstanceAddedSignal("Door"):Connect(setupDoor)

The owning system must also clean behavior when a tagged Instance is removed/destroyed.

Verification ladder

  1. Static: project mapping/JSON/XML parses; links resolve; Luau diagnostics/lint if available.
  2. Single session: correct execution context, hierarchy, no new Output errors/warnings, basic

happy path and cleanup.

  1. Lifecycle: respawn, reset, reopen/rejoin, streaming or character replacement as relevant.
  2. Server & Clients: at least two clients for remotes, replication, ownership, player

interaction, joins/leaves, and targeted state.

  1. Device/input: representative device profiles, orientation, touch, controller navigation.
  2. Stress/failure: malformed input, spam, empty/full content, rapid transitions, simultaneous

actions, disconnects, and cleanup.

Use the smallest rungs that cover the change, but never substitute a lower rung for a claimed higher-rung result.

Common failures

SymptomLikely causeRemedy
Studio edit disappears after syncgenerated/mapped subtree editedchange source-of-truth files and resync
feature runs twiceduplicate Script/remote/controllerinspect first; consolidate under existing owner
client cannot access module/objectwrong execution/storage locationmove shared content deliberately; keep secrets server-only
authored screen unreadable in Explorereverything created by one LocalScriptcreate named Instance shell and small behavior modules
test passes only in Playreplication/lifecycle untesteduse Server & Clients and relevant emulators
“clean” Output hides client errorsonly server Output inspectedinspect each client and server context
shipped place has DebugFolder/printsexperiment cleanup skippedmaintain cleanup list and inspect hierarchy after session
Attribute/tag behavior silently failsschema/class not validatedvalidate at setup boundary; warn with full Instance path

Resources

  • Read references/studio-verification.md before reporting Studio validation or when choosing test

modes, constructing a temporary harness, or documenting an automation gap.

Related skills

  • roblox-luau — services, Instances, events, and basic execution model.
  • roblox-ui, roblox-networking, roblox-characters, roblox-physics — focused production

workflows that use this inspection and verification discipline.

Primary references

  • https://create.roblox.com/docs/studio/testing-modes
  • https://create.roblox.com/docs/projects/data-model
  • https://create.roblox.com/docs/scripting/services
aus demselben Repository

Weitere Skills

Alle Skills
gamedev-skills
Community

game-feel

Add "juice" and game feel that makes actions satisfying — screen shake, hit-stop/freeze frames, tweened/eased motion, squash & stretch, knockback, and layered audio-visual feedback — as engine-neutral techniques that pair with the detected engine's tween, particle, and camera APIs. Use when the user mentions game feel, juice, "make it feel good/punchy", screen shake, hit stop, screen freeze, easing, squash and stretch, impact frames, or feedback/polish on hits, jumps, pickups, and deaths.

Installationen
5
GitHub Stars
1113
Aktualisiert
10. Sept.
gamedev-skills
Community

game-ui-ux

Design and build game UI/UX — HUDs, menus, and overlays — that survive every screen: anchor- based responsive layout, resolution/aspect scaling and safe areas, keyboard/gamepad focus navigation, a screen/menu state stack, and event-driven (not polled) HUD updates. Engine- neutral patterns that pair with the detected engine's UI skill. Use when the user mentions HUD, health bar, main menu, pause menu, settings screen, UI layout, anchors, UI scaling, aspect ratio, safe area, controller/keyboard menu navigation, or wiring UI to game state.

Installationen
5
GitHub Stars
1113
Aktualisiert
10. Sept.
gamedev-skills
Community

godot-3d-essentials

Set up a Godot 4.7 3D scene: Node3D transforms, Camera3D, lighting (DirectionalLight3D/OmniLight3D), WorldEnvironment for sky/ambient/tonemap/post, MeshInstance3D materials, and GridMap for tile-based 3D levels. Use when building a 3D scene in a Godot project, placing cameras/lights, configuring environment and post-processing, or working with Node3D/.tscn 3D content and GridMap.

Installationen
2
GitHub Stars
1103
Aktualisiert
10. Sept.
gamedev-skills
Community

godot-animation

Animate in Godot 4.7 three ways: AnimationPlayer for keyframed clips (incl. call and signal tracks), AnimationTree with state machines and blend spaces for character animation, and Tween for short procedural/UI tweens via createtween(). Use when working with AnimationPlayer/AnimationTree nodes in a .tscn, blending character states, sprite-sheet animation, or code-driven Tweens.

Installationen
2
GitHub Stars
1103
Aktualisiert
10. Sept.