CalmUI
CalmUI Studio

Check Your UI

Find layout, asset, translation, and performance problems in Studio.

Inspect layout

Turn on Layout Debug in Preview to see element bounds, spacing, focus, clipping, and drawing order. Select an element and use Inspector's source link to find the relevant file.

Problems panel with one entry: CUI1102, source DAEMON, CSS Profile v0.4 does not support property 'font-sizee', at showcase.calmui:501:18
A misspelled property in a scoped style reports a numbered CUI diagnostic with its file, line and column.

Each row is a numbered CUI diagnostic with the reporting source, a plain-text description of the problem, and the exact file, line, and column: here CUI1102 reports a misspelled font-sizee property at showcase.calmui:501:18. Click the location to open that file at the reported position.

Check screen sizes

  1. Open Tests → Responsive.
  2. Run Responsive Test.
  3. Open a failed size to inspect its findings.
  4. Follow the source link to a clipped element, overflowing text, or undersized control.
  5. Save the correction and repeat the check.

Findings also appear in Problems. Check conditional screens with the preview data that makes their content visible; hidden content is not included in the result.

Check translations

In Preview, choose Localization Test → Pseudo-localized or Expanded Text. This transforms $loc defaults to make text easier to spot or longer, so you can find labels that do not fit. It does not change real translations.

To inspect an actual language from connected Unreal, use Studio Culture instead. It changes only Studio's canvas, not the Editor or game language. Open Languages for per-key statuses, defaults and source references. Literal text and ordinary prop values are not treated as translated labels.

Check assets

Open Assets → Project Assets. Inspect thumbnails, file types, sizes, and references. Use each row's tooltip to find its source, usage, or replacement action. Replacing an asset keeps its asset:// name. Find unused assets filters the list without deleting files.

Asset changes and hot reload

Saving assets/manifest.json reaches a connected game session right away: an added or changed local image or font sends its bytes, and an added or changed Content Browser mapping (hostAssetPath), video entry or host surface sends its mapping details instead, since no file bytes travel for those. A removed entry tells the session to drop its mapping. None of this needs a save from the source editor, a package rebuild, or a running Editor to reimport; it works while you keep testing.

That live mapping does not by itself change what ships in the .cuipack: a Content Browser, video or surface mapping is built into the package only by import (or save with Unreal connected), so a live-only change to one of those is lost the next time the package is rebuilt until you import again. A local image or font is different: its bytes are also written into the package the next time it is rebuilt, so nothing is lost for those.

Assets → Project Assets compares the manifest against the asset list of the last package build Studio knows about. An entry that build does not contain is marked Not in built package, with a Package rebuild required hint above the list. This check is local: it needs no dev daemon and no running Editor.

Unreal → Connection shows the live status next to the connection state, using what the dev daemon reports about the connected runtime clients: Assets synced (N) when every change was applied, Assets pending while no client has acknowledged them yet, and Package rebuild required when a change was rejected, a declared source could not be read, or the manifest changed while no runtime client was connected to receive it. Expand Show affected assets for each asset:// name and the reason, then use Rebuild & reimport package. With the Editor closed, that button still rebuilds the package locally; the Editor imports it the next time it starts.

Measure and test

Use Tests → Profiler → Record 5s for a measurement from Studio Preview or Unreal. n/a means the target did not supply that value. See Performance.

Use Tests → UI Tests to run saved test sequences. See UI tests. The bottom Output panel has channels for build, Unreal, Actions, and Tests logs.

Recover unsaved work

Studio keeps a recovery copy while a file has unsaved changes. After an interrupted session, opening the project lets you restore or discard that copy. A normal save removes the temporary copy.

If only Preview fails, use Restart Preview. Read Problems before restarting the whole application.

On this page