Currently, my demo game includes a hotkey system. You will use the existing hotkey system as inspiration to build a menu system. In my lua code, I can create a class such as "sphere." Then I can create an instance of that class and make it appear in the world. I can also define a lua function "sphere.lookhotkeys" which adds hotkeys to objects of class sphere. When I aim the crosshairs at a sphere, a widget WB_Hotkeys appears, and it shows me the hotkeys for spheres. I can then press one of those hotkeys. The WB_Hotkeys widget handles the key event, displaying visual feedback, and it also invokes a lua function which eventually leads to the proper hotkey action being taken in lua. I want you to study this mechanism, learning exactly how this process works. Then, I want you to implement a menu system that operates on exactly the same principles. Currently, my demo game contains a sphere and a cube which both have hotkeys. I want you to reprogram the cube so that it has a menu instead of hotkeys. The menu system will require me to write a lua function such as cube.lookmenu, which generates the contents of the menu. When I point the crosshairs at a cube, the menu widget WB_Menu will appear in minimized form. In minimized form, the WB_Menu widget will just look like a little circle or something. This is just enough of a clue to the user that a menu is there to be activated. When the user clicks the left mouse button, WB_Menu will switch to active form: it will display the menu and put the mouse pointer on the first menu item. I can then drag the mouse and select a menu item, or I can drag off the menu to choose nothing. When I release the mouse button, if the mouse is over a menu item, there's some visual feedback, and the appropriate lua closure is invoked. Then, the menu goes back to minimized state. You must implement all of this using a combination of lua and blueprint-language. No C++. You can use the UE Wingman plugin to edit blueprints. Along the way, it is possible that the UE Wingman plugin may fail - it's still in beta. If so, please pause, notify me, and you and I will work together to get things up and running again.