SDK Icon Automation Events
The Roblox SDK can feed Icon Automation from two game-side sources.
Declarative schedules
Use client:registerSchedule(...) for deterministic recurring events. The SDK
canonicalizes the schedule and sends a content hash. RoControl stores the latest
accepted schedule for the API key’s universe and computes occurrences in the
backend.
Live reported events
Use client:reportEvent(...) for admin-triggered, player-triggered, or otherwise
non-deterministic events. The SDK uses MemoryStore single-flight so only one
Roblox server reports an occurrence, and RoControl also enforces durable
idempotency by occurrence id.
Resolution
Icon Automation resolves candidates from:
- dashboard/manual countdowns,
- SDK schedules,
- SDK reported events.
The resolver chooses one winner by priority, then by most recent start time. RoControl writes a new icon only when the winning overlay changes.
Asset and moderation visibility
SDK events can include iconAssetId as 123 or rbxassetid://123. RoControl
normalizes the id, resolves the Roblox thumbnail/image, caches the result, and
records moderation status on the Icon Automation state. Rejected or invalid
assets are surfaced in the dashboard instead of being retried silently.