Key Benefit: Ship brand updates instantly. Dynamic UI lets non-engineering teams update theme tokens (colors today; typography & spacing roadmap) without app rebuilds.

Feature Overview

Low code

Pure configuration-based customization, just need to trigger the sync function.

Near Real-time Updates

Changes apply almost instantly without app updates

Team Friendly

Non-technical team members can make changes

Brand Consistency

Maintain consistent styling across all platforms

When to Choose Dynamic UI

Dynamic UI is ideal when you need: Rapid brand implementation – Ship palette changes fast without rebuilds
Near real-time theme rollout – Toggle or refine colors almost instantly (A/B ready)
Non-engineering updates – Design / product can adjust safely
Cross-platform consistency – One remote source drives all clients
Low-risk experimentation – Revert by re‑publishing a previous config
Structural layout changes – Use Component Styling or Fork & Extend
Per-component state styling depth – Escalate to Component Styling
Custom data flows / logic injection – Fork & Extend
Brand-new UI or primitives – Fork & Extend
Start here; you can layer Component Styling or Fork & Extend later without discarding work.

How It Works

1

Edit in Console

Adjust tokens in Dynamic UI editor.
2

Preview

Device mock updates in real-time.
3

Publish

Commit changes server-side (versioned).
4

Client Sync

App calls syncNetworkConfig() to pull latest config.
Edits remain in preview until published. A publish atomically replaces prior values. Clients already running will pick it up on the next sync trigger.

Sync & Caching Behavior

Implementation

Call once at launch + on resume (and optionally a manual refresh action).
import AmityUIKit

@MainActor
func syncTheme() async {
    do {
        try await AmityUIKit4Manager.syncNetworkConfig()
        print("Dynamic UI synced")
    } catch {
        print("Sync failed: \(error)")
    }
}

Next Steps

Log a design token adoption plan early so future roadmap features (typography/spacing) slot in without refactors.