Skip to main content
The SDK player and AssessmentShell are white-labellable. By default the assessment’s org branding (configured in the Edpire dashboard) loads automatically — pass these options only to override it per-deployment.

Branding — TakeBranding

Supply via MountOptions.branding (Embedded Player) or the branding prop (AssessmentShell).
For custom fonts, set both fontFamily and fontUrl. fontUrl can be any stylesheet URL (Google Fonts, Adobe Fonts, a self-hosted @font-face sheet) — the shell injects the <link> tag for you at mount.

Grading overlay

The branded spinner shown while answers are graded — configured with OverlayConfig. Pass via MountOptions.overlayConfig or the overlayConfig prop.
When the assessment contains AI-graded (open-response) nodes, the overlay automatically shows a secondary line — “Some answers are being reviewed by AI…” — so learners expect a longer wait.

Layout — ShellLayout

Branding reaches colour and type. It does not reach geometry, which is what ShellLayout is for.
The player fills the container you size, but inside it the questions sit in a centred column capped at 768px. That is a reading measure and it is right when the player owns the page. It is wrong when you embed the player inside your own chrome, where it becomes a column inside a column:
Full rationale and the annex caveat: The column inside the box.

Localization & RTL — ShellLocale

Set via MountOptions.locale or the locale prop (default "en"). All shell strings (Submit, confirmation dialog, score banners, timer, “Powered by”) are translated — there’s no i18n context to wire up.
Choosing "ar" automatically switches the whole player to a right-to-left layout — no extra dir configuration needed. (The underlying question runtime has no Arabic strings, so question-level runtime labels fall back to French while the shell chrome is fully Arabic.)