[Unreal Engine VR] Gaze-based UI buttons work (hover + dwell), but level doesn’t load

Hey everyone,

I’m working on a VR project using gaze-based interaction, and I’ve run into a frustrating issue.

Setup:

  • I created a level called Introduction

  • Placed an actor called Scroll_UI

  • It uses a widget: WBP_Scroll

  • The widget has 8 buttons with text labels

  • Interaction is gaze-based (hover + dwell timer)

What’s Working:

  • Hover state works perfectly (button highlights)

  • Dwell timer works (confirmed using Print String debug)

  • The trigger event does fire

The Problem:

  • When the button is triggered, the level does NOT switch

  • No errors in output log

  • No visible response

What I Tried:

  • Print String to confirm execution → works

  • Tried multiple blueprint setups

  • Verified widget interaction → working fine

What I Need Help With:

  • Why would Open Level not work even when the trigger fires?

  • Could this be related to:

    • Widget being inside an Actor?

    • VR Pawn / Player Controller setup?

    • Level name or packaging issue?

    • Input mode or focus issue?


Additional Context:

This is part of a VR educational app with gaze-based navigation (no controllers), similar to a “look-and-hold to select” system.


Any help would be greatly appreciated.

Hello, Welcome to the Forums.

Cheers for an excellent first post :beer_mug:

My first thought is ‘packaging issue’ - try adding the map manually in Project Settings → Packaging → List of maps to include in packaged build.

(post deleted by author)

I already do that step but the issue is still here. Brother can you help me bcz I have deadline in two days so i have to fix this issue fast. Please help me.:smiling_face_with_tear:

Sorry I’m late on your deadline. (I do not log into Forums on weekends)

Are you targeting PC or Quest? (If Quest that adds the question of Android packaging the levels)

My theory is that when you’re using the ‘Open Level By Name’ node (passing in a variable string for what level you want to load) - It’s not detecting that it is referenced and needs to be packaged.

I do see that you’re explicitly naming the levels in your WBP_ScrollUI asset though… Inside of your level that is defined in Project Settings → Maps & Modes - “Game Default Map”: Try adding a functions/events to the level Blueprint that manually references each level like you do in ScrollUI. (Just test on one level first) - Maybe this is what’s needed for level assets to be included.

Another thing to try - Disable ‘Use Pak File’, then you’ll be able to look directly at what assets are getting added to a packaged build.

For a fast way of testing - Package with “Build Configuration” set to ‘Development’ (so you can press tile and get console) - then once you’re running the packaged build you can try switching between levels with the open levelname console command.