Roblox Architecture

TabooHarmony/roblox-brain/skills/core/roblox-architecture

by TabooHarmony38826be57ee37bcf023e9c2b85681bea3909281cNo licenseListed Oct 9, 2026Updated Oct 9, 2026

Use when assigning Roblox feature ownership, code location, dependencies, startup, or client-server boundaries without imposing a framework.

Instructions onlySoftware Development
AI-generated overview

Guides Roblox project architecture decisions on ownership, code location, dependencies, startup, and client-server boundaries.

What it does
This skill provides architectural guidance for Roblox projects, covering feature ownership, module placement, dependency shape, startup ordering, and client-server authority boundaries. It recommends starting from a single owner per behavior, using the smallest dependency shape, and splitting code only when a lifecycle, authority, persistence, or testability boundary justifies it. It also covers bounded WaitForChild usage, runtime authority enforcement, and a data-oriented ECS alternative only when evidence supports it. It produces review criteria and layout guidance rather than code.
When to use it
Use it when assigning ownership of a Roblox feature, deciding where code should live, choosing between direct calls and signals, planning startup and teardown, or defining client-server boundaries. It is also useful for reviewing an existing Roblox structure for hidden startup yields, replicated trust decisions, or missing cleanup.
Requirements
No scripts or runtime dependencies. It relies on the agent's reasoning and optionally the bundled reference file references/full.md for detailed layouts, dependency rules, and startup examples.

Roblox Architecture

When to Load

Load for ownership, client-server boundaries, startup, or module splits. Do not add a framework without evidence.

Quick Reference

Start from one owner

For each behavior, name:

  • authoritative state and who may mutate it;
  • public operations and callers;
  • Roblox instances, connections, and tasks it owns;
  • persistence or network boundary;
  • startup and teardown conditions.

Group by feature when that keeps one change together. Split server, client, and shared code only where the runtime boundary requires it. Shared code has no secrets or authoritative mutable state.

Use the smallest dependency shape

Direct module calls are the default. Use a signal only when one publisher has genuinely independent observers. Do not add an event bus, dependency container, manager class, or Init/Start ceremony to hide an ordinary dependency.

Keep module top-level work cheap and non-yielding. A small bootstrap owns startup that needs ordering; call it sequentially and fail visibly. Concurrency must be explicit and safe, not automatic task.spawn everywhere.

Bound WaitForChild when a dependency arrives through replication; an unbounded wait turns a missing instance into a silent hang.

Enforce runtime authority

The client presents and predicts; the server validates and decides. Remotes are APIs with types, bounds, ownership, abuse controls, and failure behavior. Route details to roblox-networking and roblox-security.

Split only for evidence

Split when there is a separate lifecycle or authority boundary, a distinct persistence contract, an independently testable pure core, or unrelated reasons to change.

Data-oriented alternative: only on evidence

An ECS earns its cost only when many similar entities update every frame by order-independent logic, or cross-cutting queries replace tangled per-entity scripts; hooks enforce invariants, ordered systems decide. Version-specific pitfalls: full.md "ECS on Roblox".

Review

One canonical owner per mutation, no hidden startup yield or replicated trust decision, explicit cleanup, smallest traceable structure. Tags are discovery, attributes configuration, one owner for attach/remove cleanup.

Detailed layouts, dependency rules, and startup examples: references/full.md [blocked]

Source and attribution

Source:TabooHarmony/roblox-braininskills/core/roblox-architectureat commit38826be

License: No license

Content belongs to its original authors. SourceWeft indexes it from a public repository.

Report or request removal