In the UE5 development environment, use LoadURL to load http://localhost:3000 to load QuickUI in development mode.
After the development tools are activated, use the shortcut Ctrl + Shift + I to open the browser console and view QuickUI console output information.
isConnected is always falseProblem: isConnected from useUEContext() always shows "Disconnected".
Cause: The web page is not running inside UE5's web browser widget, so the UE5 engine hasn't injected the ue communication object.
Solution:
window.ue in the browser console to verify the UE communication object existsue.uecommand.emitjsonevent is not a functionProblem: After calling the send function returned by useQuickUIEventSender, the UE5 side doesn't receive the event, and the console reports emitjsonevent is not a function.
Cause: The QuickUI plugin version in UE5 is too old, or the uecommand object is incomplete.
Solution:
useQuickUIEventSender('eventName')window.ue in the QuickUI DevTools console to check if the UE communication object existsuseQuickUIEventListener callback never firesProblem: Events are listened for with useQuickUIEventListener, but the callback never executes.
Cause: ue-connect requires a root-level component to call useQuickUIEventListener first to establish the event listening channel.
Solution:
Recommended approach: Use UEProvider directly, which internally initializes event listening.
Problem: When clicking buttons or elements on the Web UI, mouse events pass through to the UE5 game scene, causing the UE5 character or camera to respond.
Cause: The data-nohit attribute was not added to the Web UI elements.
Solution: Add the data-nohit attribute to containers or elements that should block mouse event passthrough:
useUEMouse automatically detects elements with data-nohit and disables mouse event forwarding to UE5 when the cursor is over those areas.
Problem: The browser's default right-click context menu pops up when right-clicking on the Web UI.
Solution: Use useInputBlocker to disable the context menu:
Problem: Pressing the Tab key causes browser focus to jump between elements, interfering with UE5 operations.
Solution: Disable the Tab key in useInputBlocker as well:
Cause: UE5's web browser widget cannot load external resource files — all images must be embedded in the HTML.
Solution:
convertImageToBase64 tool to convert images to Base64Problem: After running rspack build, the HTML file shows broken styles or script errors when loaded in UE5.
Cause: The Rspack build output references external JS and CSS files, which UE5 cannot load.
Solution: After building, use the merge-html tool to inline all resources into a single HTML file:
@ alias causes TypeScript errorsProblem: import App from '@/pages/template/App' throws a module not found error.
Cause: The TypeScript configuration doesn't recognize the @ path alias.
Solution: Check that tsconfig.json has the paths configured correctly:
Problem: The Web UI size is incorrect in UE5 and doesn't scale according to the design resolution.
Cause: The autofit.js initialization requires the Fit={true} prop to activate.
Solution:
Problem: The frontend sends events via useQuickUIEventSender, but the UE5 blueprint/UMG doesn't receive them.
Cause: Event name mismatch between the frontend and UE5 backend.
Solution:
QuickUIListenEvent nodeQuickUIEventCallBack node