ReactorUMG helps you build UMG game UI and editor UI in Unreal Engine using React. The plugin is built on PuertTS scripting and pairs with AI assistance so you can develop and iterate UI efficiently with a web-style workflow. It is especially suited to using AI to quickly build a variety of in-editor UI tools.
Keywords: Unreal Engine, UE5, UMG, UI, Slate, React, TypeScript, Plugin, Hot Reload, Live Preview, Puerts
12.29.mp4
- Why use ReactorUMG
- Core Features
- System Requirements
- Install and Quick Start
- Project Structure Example
- FAQ
- Roadmap
- Contribution Guide
- License
- Links and Resources
UMG is powerful, but it lacks a text-first, programmable front-end ecosystem, making it hard to plug into AI and front-end engineering practices (componentization, hot reload, static checks, automated testing, etc.). That slows teams who need quick iteration. To solve this, we built the ReactorUMG plugin. ReactorUMG lets you use native React + TypeScript + AI to quickly build game UI or editor UI. It is WYSIWYG, supports live preview and hot reload while editing, and connects modern web front-end practices to game UI development.
- Native React experience: Supports React Hooks, function/class components, TSX syntax, React container layouts, React native components, and UMG components.
- Scriptable interaction: Use PuerTS to call engine and editor scripting interfaces as a Blueprint substitute.
- AI-assisted development: Use AI Coding to quickly build editor tool panels, runtime UI, and reusable component libraries.
- Live preview: Hot-reload validation and in-editor live preview to verify layout and interaction quickly.
- Comprehensive examples: Samples and templates from beginner to advanced.
- Animation: Import Spine animations.
- Unreal Engine 5.x
- Node.js >= 18 and Yarn / PNPM / NPM (choose one)
- VSCode / Cursor
- Windows 10/11
Minimal Setup
- Download the plugin and place it in the project's
Pluginsdirectory; - Run the initialization script
Plugins/ReactorUMG/Tools/setup_win.bat; - Launch the project, create a
ReactorUMG->EditorUtilityWidgetasset, and write UI scripts under<ProjectDir>/TypeScript/<ProjectName>/Editor/<AssetName>.
See the docs: https://caleb196x.github.io/ReactorUMGOnlineDoc/quickstart/
- Windows, Android, Linux
Q: What is the relationship with native UMG/Slate? A: ReactorUMG is designed for teams that "build UI with React" and complements UMG/Slate; it still relies on UE's UI rendering system and script bridging at the low level.
Q: How to perform a full compilation of the TypeScript project?
A: Execute yarn build in the TypeScript directory.
Q: The UI interface cannot run after packaging.
A: Check if the Additional Non-Asset Directories to Package setting includes the JavaScript directory.
Q: How to update the puerts index files under types/ue?
A: Execute ReactorUMG.GenDTS in the Editor's Console Command.
- Support basic native React components and basic CSS styles
- Design a ReactorUMG-centered component library to support complex game UI, improving runtime efficiency and stability
- Support Tailwind CSS
- Support UI animation
- ...
Want something not listed? Submit a request in Issues.
We welcome all kinds of contributions: bug reports, docs updates, feature proposals, and PRs.
- Fork the repo and create a branch:
feat/your-featureorfix/your-bug - Run local examples to validate changes
- Submit a PR with a brief summary of motivation, scope, and testing
See CONTRIBUTING.md for submission flow, coding standards, and commit message conventions.
This project uses the MIT License. See LICENSE for details.
- Docs Home: https://caleb196x.github.io/ReactorUMGOnlineDoc/
- Sample Project: https://github.com/Caleb196x/ReactorUMGDemo
- ReactorUMG NPM Package: https://github.com/Caleb196x/ReactorUMG-TS
- Release Downloads (Releases): https://github.com/Caleb196x/ReactorUMG/releases
- Issues and Suggestions (Issues): https://github.com/Caleb196x/ReactorUMG/issues
- Discussion Board (Discussions):
- Discord: https://discord.gg/E9672n9me7
- QQ: 1020173543
If this project helps you, feel free to Star, share, and tell us your use cases and needs!
