Hey everyone,
I wanted to share a plugin I built called UI Widget Builder — it automates the process of converting Photoshop UI designs into organized UMG Widget Blueprints in Unreal Engine 5.
Anyone who’s worked on a UI-heavy project knows the drill: an artist designs a menu in Photoshop, and then someone has to manually rebuild that entire layer hierarchy in UMG — naming widgets, setting anchors, wiring up interactions. Every design iteration means doing it again. This plugin is meant to remove that repetitive setup work.
How it works
- Design your UI in Photoshop using a set of supported layer naming prefixes
- Run the included Photoshop JSX exporter — generates a layout.json file + Textures folder
- Open UI Widget Builder in Unreal Engine (Tools → UI Widget Builder)
- Import the exported data to auto-generate the widget hierarchy, root screens, and layout structure
- Customize/extend the generated widgets as needed
- Re-import updated designs using saved presets and a clean re-import option
Core Features
- Automated UMG Widget Blueprint generation
- layout.json + Textures import pipeline
- Organized widget hierarchy creation
- Root screen management
- Portrait and landscape UI size support
- SafeZone / ScaleBox / SizeBox wrapper support
- Preset Manager for reusable import settings
- Clean re-import with generated asset cleanup
Optional Blueprint Logic
- Button interaction logic
- WidgetSwitcher tab logic
- Close on Key/Back/Escape
- Slider, checkbox, and progress bar helpers
- Click/hover sound + music playback setup
- ScrollBox auto-scroll, video/media playback helpers
Text & Layout Support
- Font mapping with missing-font fallback
- UTF-8 and RTL text support
- Resolution-based layout generation
Good for: menus, HUDs, inventory UI, shop interfaces, mobile UI, launcher UI, settings screens, character selection, pause menus, and rapid UI prototyping.
Links
Video demo: https://www.youtube.com/playlist?list=PLCDHGOtmgrXw
Documentation: UI Widget Builder Help — Overview
Fab listing:
UI Widget Builder | Fab
Happy to answer any questions about the workflow, the layer naming conventions, or how it handles specific UI cases — this came out of solving my own repetitive setup pain, so genuinely curious whether it’d be useful for other people’s pipelines.
