mcpField
R
roblox-performance

roblox-performance

github.com/tabooharmonyDevelopment1382.2k installsUpdated 2w ago
Repository

About roblox-performance

A performance guidance skill for Roblox developers profiling and tuning projects. It directs optimization toward measured bottlenecks and covers profiling tools, performance targets, Parallel Luau, streaming, and mobile testing.

Key features

  1. 01Profile scripts, physics, rendering, memory, and network
  2. 02Set performance targets and investigate measured regressions
  3. 03Use Actors for isolated CPU work identified by profiling
  4. 04Understand StreamingEnabled behavior and configuration
  5. 05Profile mobile graphics and interface costs

Use cases

  1. 01Find script or rendering bottlenecks
  2. 02Investigate sustained memory growth
  3. 03Evaluate whether work suits Parallel Luau
  4. 04Tune a Roblox experience for low-end mobile devices

Install

Copy the command and run it in a terminal.

$npx skills add https://github.com/tabooharmony/roblox-brain --skill roblox-performance

After installing, type/roblox-performancein Claude Code to confirm it loaded.

Bundled filesreferences/full.md

Details

From the project README

Roblox Performance

When to Load

Use for profiling and performance budgets. Pooling and lifecycle patterns: roblox-luau-patterns.

Quick Reference

Profiling Tools
  • MicroProfiler (Ctrl+F6): Frame breakdown of scripts, physics, rendering.
  • Developer Console (F9): Memory, network, rendering, and server stats.
  • Script Profiler (Ctrl+Alt+F5): Per-script CPU and heap.
  • Labels: debug.profilebegin/debug.profileend mark regions; debug.setmemorycategory labels memory. Gate instrumentation behind a flag.
Performance Targets
MetricStarting targetInvestigate at
Server heartbeat< 16ms> 33ms
Client FPS (desktop)60< 30
Client FPS (mobile)45< 30
Memorydevice-specificsustained growth

Optimize measured hot paths, not folklore. Throttle from measurements; re-profile after shipping.

Parallel Luau
  • Use Actors only after profiling identifies isolatable CPU work.
  • Workers compute; synchronize before restricted DataModel writes.
  • Do not rely on shared module state across Actors. SendMessage copies data; SharedTable supports shared state and atomic updates.
Hot-loop cost model
  • Luau optimizes global imports; avoid folklore function hoisting/unrolling. Environment impurity can disable optimizations. Profile allocations as well as CPU; GC cost may occur later.
Object Pooling

Pre-clone and reuse. Canonical pool code (token-lease ownership): roblox-luau-patterns.

StreamingEnabled Essentials
  • On by default. Container-scoped: only Workspace descendants stream. ModelStreamingBehavior = Improved streams non-BasePart descendants with their parent Model; Legacy streams only BaseParts.
  • Streamed-out = parented to nil, not destroyed. Luau refs persist if it streams back.
  • Config (Studio): target defaults 1024, min 64; set StreamingIntegrityMode; tune from data.
  • Gotcha: FindFirstChild("DistantPart") returns nil if streamed out. Use WaitForChild with timeout.
Mobile
  • Profile geometry, textures, particles, UI, shadows on low-end devices.

Full reference with code examples and API tables: references/full.md

Comments

Markdown supported