Summary
As a Roblox developer, I would like the ability to register Static Attributes and Static Tags.
The idea is similar to how Collision Groups are managed today: developers register a finite set of names that are expected to exist throughout the experience.
Once registered, Roblox can internally assign each name a compact identifier, allowing replication to reference the identifier instead of repeatedly transmitting or resolving the full name.
Motivation
Many experiences repeatedly use the same attributes and tags:
HealthArmorStunnedNPCEnemyInteractableFrozen
These names are typically fixed for the lifetime of the experience.
By allowing developers to explicitly register them ahead of time, the engine could treat them as static identifiers during replication.
Studio Integration
Like Collision Groups, Studio could expose a dedicated Static Attributes & Tags window where developers can:
- Register static attribute names.
- Register static tag names.
- Rename or remove entries.
- View all registered identifiers for the experience.
This also makes them discoverable for teams and avoids accidental typos.
Runtime API
For plugins, procedural generation, or runtime configuration, an API could also be provided:
CollectionService:RegisterStaticAttribute("Health")
CollectionService:RegisterStaticAttribute("Armor")
CollectionService:RegisterStaticTag("Enemy")
CollectionService:RegisterStaticTag("Floats")
With matching removal APIs:
CollectionService:DeregisterStaticAttribute("Armor")
CollectionService:DeregisterStaticTag("Floats")
Benefits
- Potentially lower replication overhead for frequently used attributes and tags.
- Explicit declaration of commonly used identifiers.
- Cleaner project organization.
- Similar workflow to Collision Groups.
- Fully backward compatible with existing attributes and tags.
Experiences that don’t use the feature continue working exactly as they do today, while projects that make heavy use of attributes or CollectionService tags could benefit from a more efficient engine-level representation.