Thanks for this one! I ported this to a pure C++ implementation and had an issue with the default input action widget not showing on the buttons with a controller. It ended up being that my character locomotion IMC priority was >= the UI IMC. This caused the default input action widget to not work. I set the locomotion IMC to lower than the UI imc and the default input action widget worked fine again. Just posting this here for anyone else having those issues.
12:15 I had the same issue before, and to fix it you have to set the current input type to "Mouse and Keyboard" just before quitting the game. The code looks like that: Get Player Controller > Get CommonInputSubSystem > Set Current Input Type to Mouse and Keyboard > Quit Game
Thanks for the video! I am currently trying to make use of the simple cross widget navigation mechanisms. I use the common buttons for that. Now I am thinkin, how could I: 1) Replace which buttons are used for navigation 2) Make the buttons react to more than just the configured input action, but listen to multiple actions, adapting the buttons behavior 3) Make the buttons really not broadcast the IA, as currently it seems even the generic inputs get broadcast to all buttons when they implement the respective input event Any advice would be very appreciated! Thanks
It's a very cool feature but BEWARE of experimental status. My test project had it's UI blueprints corrupted after enabling enhanced input support! This was before i watched this so no worries :D
Hey nice video ! I just figured out that the keyboard is already bind with arrows up/down and spacebar to click on the focused button (by default?). Would be nice to change it to a custom input action. It also reset the focused button if you use the gamepad/keyboard after mouse hovering.
Hello, I followed your tutorial and scoured the interent, for some odd reason my set enhanced input click action never sets triggered and I in all honesty cannot figure out why, I check back all fo the steps I followed across several different tutorials and unfortunately the results are not fruitful
Do you by chance have another IA that's mapped in an IMC to the same confirm/back keys/buttons? In the IA it might be consuming all input and you'd just have to turn off "consumes input" variable, so it might be consuming the input and stopping the UI or other bound actions from receiving it. Hopefully that's all it is!
Hey, I have tried you PauseMenu Demo, its a pretty nice guiding demo , but it seems the Navigation at the pause menu not working for keyboard(I press key Up and Down), it only working while using Gamepad, do you know why?
Thanks! That would be neat functionality. I have not implemented it, but I am curious how common UI input interfaces with native navigation (up down keys). I may just be missing some settings. I'll update the project and reply here if I find out . Please share if you find out the solution. Thanks!
You’re very helpful. Got a question for ya. I’m trying to make a system where I have teammate ai npcs. I want to point at an area where enemies are and tell my ai to “Suppress” them. When I do…I also want the enemy npcs to play an animation like “hunker down” and not move. Any help or a video about that would be amazing
Hey, thanks for the video. I just wonder if it is possible to drive logic from CommonActivatableWidget using IA_SpecificAction node. Enhanced inputs does not seem to trigger for me :/
Amazing video, the quality of this channel is unbelievably good! Do you think it would be possible to make a video showing how to import the lyra main menu to use in your own project? I'm struggling getting the c++ to compile when importing the UI classes from lyra. Thanks for your time and efforts!
Thanks! For the lyra main menu, do you mean the options screen or mostly just the pause menu and main menu? The UI flow/menu is very linked to lyra classes, I personally tried to just transplant the settings menu to a non-lyra project and was not successful, there's just so many dependencies!
@@nancedevdiaries Thanks for the reply! I'm mostly interested in the lyra front end button assets (ex. LyraMenuButton, LyraTileButton, LyraExperienceTileButton) so that I can use those buttons and animations to create my own menu flow. Definitely feeling the pain of trying to sort out all of the dependencies!
Thank you for this great video! Just like you, I haven't been able to find much info about these features working together so your video is very much appreciated! One thing I haven't gotten working is automatic detection of different gamepad types. For example, I set up XSX and PS5 gamepads, just like in Lyra, but the game always chooses XSX as the gamepad type, even when playing with a PS5 controller. I've checked the Enable Automatic Gamepad Type Detection setting but it doesn't seem to be working as I expect it to. Maybe you have tried this?
Thanks! I'm curious if it worked without the enhanced input support? I don't personally own a PS5 controller and would also like to know if there's PC support to update to the right glyphs/icons :).
@@nancedevdiaries It didn't work before Enhanced Input either. Moreover, I just learned that the "Enable Automatic Gamepad Type Detection" setting doesn't actually detect the gamepad type but rather just detects the switching between mouse/keyboard and gamepad, so it should really be called "Enable Automatic Input Type Detection". To be able to differentiate between multiple gamepads, you'll need to check for the hardware ID using Microsoft's XInput API, which I'm yet to figure out 😄
1- Input Action worked great with Widgets and "Listen to Input Action", deprecated. 2- Enhanced Input Action doesn't have a "Listen to Input Action" equivalent, useless for Widgets 3- CommonUI, experimental, lacks documentation, no updates in two years. Working with Widgets/UMG has been an awful experience, it's just a mess, they invest so much in cutting edge features, while the basics are complete abandoned.
I tried common ui for PC-Mobile multi-platform project and have problem to notify Enhanced Input Action to Character. After watch your comment, I stopped to find how enhanced input works and just make notify to Input Action from widget touch event to Character's Enhanced Input. You save my time so much, I appreciate it.
Thanks! I'm just dipping my toes in 5.4, looking at the changes between 5.3 and 5.4 mostly around Lyra at the moment. I'm mostly curious about the change in the animation assets organization, authored in-engine. Pretty awesome that motion matching is now production ready
Hello do you have an idea on how to make two actions depending on the controller button pressed ? for example having face button A to do assign a spell and Y to upgrade a spell ?
I think the commonUI action bar could come in handy for that. I haven't used it to do actions based on selected UI elements though like a selected spell, but showing the actions (A to assign a spell and Y to upgrade it) in the bottom bar would help, as to binding what they do, I think some c++ will be required. This may be useful: unrealist.org/commonui-actionbar/ I have one video covering it but it's 3 generic actions based on the widget, not anything selected. Maybe it can be some help : ruclips.net/video/1wvHRJANOto/видео.html That's an interesting and common enough use case for UI, please share if you find out a solution/implementation, thanks and have fun!
@@nancedevdiariesthank you very much for your reply helped a lot , i m implementing common ui in my game and for my case i had to make the setup a little bit different , i had to remove the ui context from the player controller because it messed up my inGame context and put it inside the highest parent in my ui heirarchy just fill the inputcontext field with a highter priority and common ui adds it and removes it to my player controller automatically , and i had to make all the ui buttons generic by checking the generic check box in the metadata , if i don t do that the inputs don t work in my ui i think common ui need the buttons to not fire events in game i trying to look for when will such case be helpful to have ui buttons fire events
Hello, this may help, my video about long held action button the standard way in a bottom action bar : ruclips.net/video/1wvHRJANOto/видео.html. If you're using IA though I imagine it might use the held duration for a hold action trigger. Curious to try!
@@nancedevdiaries for IA didn't work i don't know why i tried everything .. and i don't know whe the onActionProgressed delegate never triggers so i switched back to normal setup with input data
Hi. Great Video. Has anyone tried it with unreal 5.4? I did everything as in the video and the official documentation, but no Input Action Widget is displayed in the W_ActionWidget under Common UI Plugin. Greetings from Germany
I haven't made a video for cosmetics yet, the only close one is the debug is ruclips.net/video/UEWU6dlfKiM/видео.html. I think this video covers most of it : ruclips.net/video/d7Kem2do0QI/видео.htmlsi=2s6J9GAkq6fprxAq. It's interesting how it's setup, out of the box you either use Manny or Quinn and it's random which cosmetic you get. What you could do it replace the skeletal mesh with your own skeletal mesh in "B_Manny" and "B_Quinn". I hope that helps!
For Lyra, I did have this problem for the main menu (lyraFrontEnd) but ends up I just needed to apply the IMC for the UI actions to the Front end experience. Didn't particularly have any issues with the tabs icon in-game or in my CommonUI example project. When is there an issue with the tab icon not showing up, I'm curious :) ?
@@nancedevdiaries well... I reverted back to NonEnhanceInputSupport and it started working in 5.3. In 5.4 my tabs and action widgets were broken. After a few days I found even the CommonUI settings weren't even in the Project Settings. So, reinstalled the engine and then it started working. Things are up, BUT I am noticing the Action Widget doesn't have the white box when I add it. It's there but not visible. I guess that means someone at epic is working on the system. 😂 Bright side. I tested a few things yesterday, I found that there is no "static" action icon. (Display Only) If I want a icon that switches icons between keyboard and gamepad but not register a event, I have to do a lot of workarounds. Also noticed that there is no OnClickEvent for the CommonButtonBase. There is a Clicked, but it's different from the regular button. Doesn't pass the button object. If I populate my actionbar with buttons (5x) procedurally, how do I bind? 😂
Hey Nance have you ever tried creating an auto aim/ lock on ability, ive tried to do it but my camera is never positioned right its always a little to the side and cant figure out the offset Thanks, I watch a lot of your videos and most of them solve common problems faced.
Thanks! I'm preparing a video about having pawn data + setup for a pawn/player whose camera rotates with the look input, independent from the pawn's rotation and the challenges it comes with
Thanks for this one! I ported this to a pure C++ implementation and had an issue with the default input action widget not showing on the buttons with a controller. It ended up being that my character locomotion IMC priority was >= the UI IMC. This caused the default input action widget to not work. I set the locomotion IMC to lower than the UI imc and the default input action widget worked fine again. Just posting this here for anyone else having those issues.
wow, Enhanced input was there in the minute 10:10 I found a lot of tricky ways to do this, and was that simple... Thanks a lot!!
Wow! Can't wait for the official release of CommonUI! Thanks for sharing the video and project files!
12:15 I had the same issue before, and to fix it you have to set the current input type to "Mouse and Keyboard" just before quitting the game. The code looks like that: Get Player Controller > Get CommonInputSubSystem > Set Current Input Type to Mouse and Keyboard > Quit Game
Thanks for sharing!
Thank you!
thanks, it works!
I love getting a notification every couple weeks about a new QoL feature I can add to my game because of you
Thank you so much for providing the demo repo, this was incredibly helpful!
Thanks for the video!
I am currently trying to make use of the simple cross widget navigation mechanisms. I use the common buttons for that. Now I am thinkin, how could I:
1) Replace which buttons are used for navigation
2) Make the buttons react to more than just the configured input action, but listen to multiple actions, adapting the buttons behavior
3) Make the buttons really not broadcast the IA, as currently it seems even the generic inputs get broadcast to all buttons when they implement the respective input event
Any advice would be very appreciated!
Thanks
It's a very cool feature but BEWARE of experimental status. My test project had it's UI blueprints corrupted after enabling enhanced input support! This was before i watched this so no worries :D
Oh no! 😮 . I was lucky, the worse I got was not being able to use the "hold time" for action widget buttons
Yooo so good thank you. This does a great job explaining it
Hey nice video ! I just figured out that the keyboard is already bind with arrows up/down and spacebar to click on the focused button (by default?).
Would be nice to change it to a custom input action. It also reset the focused button if you use the gamepad/keyboard after mouse hovering.
Hello, I followed your tutorial and scoured the interent, for some odd reason my set enhanced input click action never sets triggered and I in all honesty cannot figure out why,
I check back all fo the steps I followed across several different tutorials and unfortunately the results are not fruitful
Do you by chance have another IA that's mapped in an IMC to the same confirm/back keys/buttons? In the IA it might be consuming all input and you'd just have to turn off "consumes input" variable, so it might be consuming the input and stopping the UI or other bound actions from receiving it. Hopefully that's all it is!
Hey, I have tried you PauseMenu Demo, its a pretty nice guiding demo , but it seems the Navigation at the pause menu not working for keyboard(I press key Up and Down), it only working while using Gamepad, do you know why?
Thanks! That would be neat functionality. I have not implemented it, but I am curious how common UI input interfaces with native navigation (up down keys). I may just be missing some settings. I'll update the project and reply here if I find out . Please share if you find out the solution. Thanks!
You’re very helpful. Got a question for ya. I’m trying to make a system where I have teammate ai npcs. I want to point at an area where enemies are and tell my ai to “Suppress” them. When I do…I also want the enemy npcs to play an animation like “hunker down” and not move. Any help or a video about that would be amazing
Hey, thanks for the video. I just wonder if it is possible to drive logic from CommonActivatableWidget using IA_SpecificAction node. Enhanced inputs does not seem to trigger for me :/
Is your IA_SpecificAction bound to any key in any input mapping contexts (IMC) and is the IMC added to the player? That's my first thought
@@nancedevdiaries Thanks for reply, nvm i'm stupid :D I paused the game before opening UI and had not ticked the checkbox in input action.
The best one! ❤
Amazing video, the quality of this channel is unbelievably good! Do you think it would be possible to make a video showing how to import the lyra main menu to use in your own project? I'm struggling getting the c++ to compile when importing the UI classes from lyra. Thanks for your time and efforts!
Thanks! For the lyra main menu, do you mean the options screen or mostly just the pause menu and main menu? The UI flow/menu is very linked to lyra classes, I personally tried to just transplant the settings menu to a non-lyra project and was not successful, there's just so many dependencies!
@@nancedevdiaries Thanks for the reply! I'm mostly interested in the lyra front end button assets (ex. LyraMenuButton, LyraTileButton, LyraExperienceTileButton) so that I can use those buttons and animations to create my own menu flow. Definitely feeling the pain of trying to sort out all of the dependencies!
Thank you for this great video! Just like you, I haven't been able to find much info about these features working together so your video is very much appreciated! One thing I haven't gotten working is automatic detection of different gamepad types. For example, I set up XSX and PS5 gamepads, just like in Lyra, but the game always chooses XSX as the gamepad type, even when playing with a PS5 controller. I've checked the Enable Automatic Gamepad Type Detection setting but it doesn't seem to be working as I expect it to. Maybe you have tried this?
Thanks! I'm curious if it worked without the enhanced input support? I don't personally own a PS5 controller and would also like to know if there's PC support to update to the right glyphs/icons :).
@@nancedevdiaries It didn't work before Enhanced Input either. Moreover, I just learned that the "Enable Automatic Gamepad Type Detection" setting doesn't actually detect the gamepad type but rather just detects the switching between mouse/keyboard and gamepad, so it should really be called "Enable Automatic Input Type Detection". To be able to differentiate between multiple gamepads, you'll need to check for the hardware ID using Microsoft's XInput API, which I'm yet to figure out 😄
@@AntonPalmqvist ooh interesting, thanks for sharing!
1- Input Action worked great with Widgets and "Listen to Input Action", deprecated.
2- Enhanced Input Action doesn't have a "Listen to Input Action" equivalent, useless for Widgets
3- CommonUI, experimental, lacks documentation, no updates in two years.
Working with Widgets/UMG has been an awful experience, it's just a mess, they invest so much in cutting edge features, while the basics are complete abandoned.
I tried common ui for PC-Mobile multi-platform project and have problem to notify Enhanced Input Action to Character.
After watch your comment, I stopped to find how enhanced input works and just make notify to Input Action from widget touch event to Character's Enhanced Input.
You save my time so much, I appreciate it.
Fist again 😊
Great update, Thank you Nance ❤
Do you know what's new in Lyra 5.4?
Thanks! I'm just dipping my toes in 5.4, looking at the changes between 5.3 and 5.4 mostly around Lyra at the moment. I'm mostly curious about the change in the animation assets organization, authored in-engine. Pretty awesome that motion matching is now production ready
Hello do you have an idea on how to make two actions depending on the controller button pressed ? for example having face button A to do assign a spell and Y to upgrade a spell ?
I think the commonUI action bar could come in handy for that. I haven't used it to do actions based on selected UI elements though like a selected spell, but showing the actions (A to assign a spell and Y to upgrade it) in the bottom bar would help, as to binding what they do, I think some c++ will be required.
This may be useful: unrealist.org/commonui-actionbar/
I have one video covering it but it's 3 generic actions based on the widget, not anything selected. Maybe it can be some help : ruclips.net/video/1wvHRJANOto/видео.html
That's an interesting and common enough use case for UI, please share if you find out a solution/implementation, thanks and have fun!
@@nancedevdiariesthank you very much for your reply helped a lot , i m implementing common ui in my game and for my case i had to make the setup a little bit different , i had to remove the ui context from the player controller because it messed up my inGame context and put it inside the highest parent in my ui heirarchy just fill the inputcontext field with a highter priority and common ui adds it and removes it to my player controller automatically , and i had to make all the ui buttons generic by checking the generic check box in the metadata , if i don t do that the inputs don t work in my ui i think common ui need the buttons to not fire events in game i trying to look for when will such case be helpful to have ui buttons fire events
Hello do you have any idea on how to set the hold binding for the action bar ?
Hello, this may help, my video about long held action button the standard way in a bottom action bar : ruclips.net/video/1wvHRJANOto/видео.html. If you're using IA though I imagine it might use the held duration for a hold action trigger. Curious to try!
@@nancedevdiaries for IA didn't work i don't know why i tried everything .. and i don't know whe the onActionProgressed delegate never triggers so i switched back to normal setup with input data
Hi. Great Video. Has anyone tried it with unreal 5.4? I did everything as in the video and the official documentation, but no Input Action Widget is displayed in the W_ActionWidget under Common UI Plugin. Greetings from Germany
Can you make a video on how to add custom characters to Lyra? This new Lyra update looks so different from the first version.
I haven't made a video for cosmetics yet, the only close one is the debug is ruclips.net/video/UEWU6dlfKiM/видео.html. I think this video covers most of it : ruclips.net/video/d7Kem2do0QI/видео.htmlsi=2s6J9GAkq6fprxAq. It's interesting how it's setup, out of the box you either use Manny or Quinn and it's random which cosmetic you get. What you could do it replace the skeletal mesh with your own skeletal mesh in "B_Manny" and "B_Quinn". I hope that helps!
did you have any trouble with the icons not showing up ? (action widget) I'm having a hard time getting the shoulder button for the tabs to show up.
For Lyra, I did have this problem for the main menu (lyraFrontEnd) but ends up I just needed to apply the IMC for the UI actions to the Front end experience. Didn't particularly have any issues with the tabs icon in-game or in my CommonUI example project. When is there an issue with the tab icon not showing up, I'm curious :) ?
@@nancedevdiaries well... I reverted back to NonEnhanceInputSupport and it started working in 5.3. In 5.4 my tabs and action widgets were broken. After a few days I found even the CommonUI settings weren't even in the Project Settings. So, reinstalled the engine and then it started working. Things are up, BUT I am noticing the Action Widget doesn't have the white box when I add it. It's there but not visible. I guess that means someone at epic is working on the system. 😂 Bright side. I tested a few things yesterday, I found that there is no "static" action icon. (Display Only) If I want a icon that switches icons between keyboard and gamepad but not register a event, I have to do a lot of workarounds. Also noticed that there is no OnClickEvent for the CommonButtonBase. There is a Clicked, but it's different from the regular button. Doesn't pass the button object. If I populate my actionbar with buttons (5x) procedurally, how do I bind? 😂
Hey Nance have you ever tried creating an auto aim/ lock on ability, ive tried to do it but my camera is never positioned right its always a little to the side and cant figure out the offset
Thanks, I watch a lot of your videos and most of them solve common problems faced.
Nice one! What topic is the next update!
Thanks! I'm preparing a video about having pawn data + setup for a pawn/player whose camera rotates with the look input, independent from the pawn's rotation and the challenges it comes with
@@nancedevdiaries nice! Would be dope if there was also toggle for that in the menu ! Or depending on armed or unarmed states.
I like that idea, having a free camera when not armed
@@nancedevdiaries it’s would be insanely good
Thanks this is just what I needed :)