Unreal side

Unreal Importer
Wizard & Output

How to create Widget Blueprints, detached widgets, generated assets, Add To Level logic, and clean imports.

Plugin: UI Widget Builder Target: UE 5.6 / 5.7 / 5.8 Workflow: PSD → layout.json + Textures → UMG Widget Blueprint Author: Ali Shantia

Importer wizard overview

The Unreal importer is the editor-side half of the plugin. It reads layout.json, imports textures, creates Widget Blueprints, and optionally generates Blueprint graph logic.

UI Widget Builder wizard Step 1, Step 2, Step 3
Step Purpose
Step 1 — Source Select the exported folder containing layout.json and Textures/. Choose resolution and source settings.
Step 2 — Widget roots Choose which root screens to import, which to detach into their own Widget Blueprints, and root-level behavior options.
Step 3 — Output Set package names, export path, wrappers, input mode, Add To Level, delete existing generated items, advanced generation options, and saved preset path behavior.

Generated assets and clean import

The Content path controls where generated Widget Blueprints and textures are created. For clean iteration, the importer can delete generated items before importing.

Control Meaning
Widget Package Name Main/host Widget Blueprint name, such as WBP_MainMenu, WBP_Loading, or WBP_UIHost.
Export Path Unreal Content path where generated assets are created, such as /Game/UI/MainMenu.
Saved preset path The importer can remember the preset path so users can load and save presets from the same location faster on future imports.
Detached package names Separate WBP names for roots marked as detached, for example WBP_Settings.
Delete existing generated items before import Force-deletes previously generated Widget Blueprints in the export path and the generated Textures folder before creating fresh assets.
!
Important

This is a delete-before-import system, not an overwrite system. It removes old generated assets first, then imports fresh assets.

Close any open Widget Blueprint tabs for generated assets before using this option.

Recent importer behavior

The importer resolves font mapping without needing to open the Font Mapping popup first, keeps Regular/Bold style matching, applies placeholder fonts to ETB/ETM text inputs, infers wrapped multiline TextBlocks from exported bounds when needed, and protects checkbox-group label clicks by setting those texts to remove hit test.

!
Animated switcher requirement

The Change to Common Animated Switcher option requires the Unreal CommonUI plugin. Enable CommonUI before import when using animated switchers. UE 5.6 uses normal WidgetSwitcher behavior.

Font support and resolve behavior

The importer reads the Photoshop font family, style, weight, italic/faux italic, font size, line height, and tracking from layout.json. It then tries to resolve that data to a matching Unreal font asset.

How resolve works

Explicit Font Mapping is used first when available. If no manual mapping is set, the importer tries project font asset names based on family and style, such as Regular or Bold. If no asset is found, the widget is still created and Unreal uses its default font.

Input widgets

ETB_, ETBM_, and ETM_ use their child TXT_ placeholder/text layer for font data. BG_ supplies the input background states.

More detail

See the dedicated Font Mapping & Font Support page for missing-font fallback, Regular/Bold style matching, ArialMT handling, and the recommended setup workflow.

Per-screen root options

Option Effect
Import Widget Include this root screen in the generated output.
Export as separate Widget Create this root as its own Widget Blueprint instead of embedding it in the host WBP.
Visible at Start Whether the root starts visible in its generated widget.
Create Modal Background Creates a modal background layer for the root.
Create Blur Background Creates a blur-style background layer.
Close on Escape / Back Generates input logic to close/hide this root when the key is pressed.
Close on Key Lets a specific key trigger the close behavior.
Show After Current Widget Closed Shows another root after this root closes. For detached targets, the importer creates and adds that widget to the viewport.
Pause Game When Visible Generates pause/unpause behavior when the root appears or closes.
Play Music When Visible When Add To Level is used, selected music can play in the Level Blueprint after the selected widget is created and added to viewport.

Level Blueprint generation

When enabled, the importer can add a generated node chain to the current Level Blueprint.

Event BeginPlay
  → UIWB_ADD_TO_LEVEL sequence
  → CreateWidget(selected WBP)
  → AddToViewport
  → PlaySound2D(selected music, if enabled)
!
Note

Music is generated in the Level Blueprint after widget creation, not inside the generated widget Construct graph.