Announcement

Collapse
No announcement yet.

[Full Project] Rama's UMG Rebindable Key System, Rebind keys at Runtime!

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • [Full Project] Rama's UMG Rebindable Key System, Rebind keys at Runtime!

    Click image for larger version

Name:	ReBindableKeysTitle.jpg
Views:	5
Size:	265.6 KB
ID:	1140522

    Current Version: 4.15, Prior Engine Versions Are Available!

    4.15 Update

    https://forums.unrealengine.com/show...l=1#post672380

    ~~~

    Major Update ~ Assorted fixes contriubted by community members:

    https://forums.unrealengine.com/show...l=1#post492721

    ~~~

    Major Update ~ Added 3 New Nodes for Finding and Removing Key Bindings

    https://forums.unrealengine.com/show...l=1#post430656

    ~~~

    Major Update ~ Support for Mouse Inputs, LMB, RMB, MMB, MouseX, MouseY

    https://forums.unrealengine.com/show...l=1#post423187



    ~~~

    Major Update ~ Multiple Keys Per Mapping

    I've added support for rebinding a mapping during runtime which has multiple keys associated with it!
    https://forums.unrealengine.com/show...l=1#post334917

    ~~~

    Major Update ~ Axis Mappings

    I've added support for Axis Keys!
    https://forums.unrealengine.com/show...l=1#post334917

    ~~~

    Dear Community,

    I am giving you a full sample project as a download (8mb) where I've created a fully functional UMG Key Rebinding System!

    You can click on the name of any key and then simply enter a new one on the keyboard/gamepad (just pressing the button itself that you want to be the new binding!

    And I do track ctrl,alt,shift, and command!

    And the list is scrollable too!

    ~~~

    Video

    This video demonstrates how my Runtime Rebindable Key System does actually have a scrolling feature!

    You can have infinite key bindings in your list!

    I also demonstrate how easy and fast it is to add new keybindings usig Project Settings -> Input!

    And!

    Remember that I am giving you this whole project for your own use!



    ~~~

    Rebind Actions During Runtime

    And best of all, because of my Victory BP Library nodes, the changes you make in the Key Rebinding Menu instantly update the ingame character input component!

    So if you rebind Jump from spacebar to page up, it takes effect instantly!

    ~~~

    Why Am I Giving This For Free?

    Because its really important feature for any game and I just finished figuring out how to do it for Solus.

    I figured you would enjoy it as well, since it was honestly not that easy to do, and I had to really think about how to do both the UMG and the actual C++ code to dynamically update action mappings during runtime



    Rama

    ~~~

    Download

    Here's the full project for you!

    Wiki Link to Download Page
    https://wiki.unrealengine.com/File:ReBindableKeys.zip

    ~~~

    How To Use My Menu

    Go in game and press the K key!

    Click on the black and red buttons to rebind the jump button!

    Add new actions any time using Project Settings->Input

    ~~~

    Victory BP Library

    UE4 Forum Link
    https://forums.unrealengine.com/show...l=1#post176137



    Rama
    Last edited by Rama; 02-26-2017, 02:08 AM.
    100+ UE4 C++ Tutorials on the UE4 Code Wiki, including UE4 Multi-Threading!

    UE4 Marketplace: Melee Weapon Plugin & Compressed Binary Save System Plugin | Rama's C++ AI Jumping Videos | Vertex Snap Editor Plugin

    Visit www.ue4code.com to see lots of videos about my C++ Creations! ♥ Rama

  • #2
    This is an awesome job! Thanks Rama!

    Comment


    • #3
      Nice work Rama. This will be handy.
      Abatron Development Thread
      www.abatrongame.com
      Steam Store

      Comment


      • #4
        Thank you so mush Rama

        Comment


        • #5
          I planned on adding proper key binding this week, so your timing is awesome

          And thank you for your earlier work on GetAllWidgetsOfClass() and explanation behind its use.
          I'm now using it for a basic loading screen in Ground Branch.
          Works well
          Rule#21: Be polite, be professional, but have a plan to kill everyone you meet.

          Comment


          • #6
            Hi Rama! Many thanks for your Rebindable Key System.

            I've tried it and I've found 2 little "problems".

            1- If I press K when I walk, the character keeps walking. It's easy to fix.
            2- Is it possible to avoid multiple key binding? At the moment we can use the same Input Key for every action...
            Last edited by Diat Funa; 11-08-2014, 11:36 AM.
            www.diatfuna.com

            Citizen Carol

            Comment


            • #7
              Thank you ! On my way to try it ^^

              Comment


              • #8
                Thanks a lot Rama!
                FREE Color LUT Collection
                FREE Physics Driven Spacecraft Project
                GTA Style Vehicle Interaction
                Dynamic DoF(Depth of Field)
                Camera Crossfade
                Portfolio

                Comment


                • #9
                  Great job mate : ) this will be of use to so many. thanks for the great free content!
                  Youtube
                  Machine Learning C++ Plugin
                  Lindenmayer System C++ Plugin

                  Comment


                  • #10
                    Great to hear from you Demolition Man, Devero, and Chris!




                    Originally posted by Diat Funa View Post
                    Hi Rama! Many thanks for your Rebindable Key System.

                    1- If I press K when I walk, the character keeps walking. It's easy to fix.
                    2- Is it possible to avoid multiple key binding? At the moment we can use the same Input Key for every action...
                    You have the whole project as a download, do whatever you want to it!

                    I personally like having ability to bind same key to multiple actions, its really important in games that have multiple modes. You can stop the action from firing based on some internal way of tracking what game mode you are in.



                    Originally posted by Kris View Post
                    I planned on adding proper key binding this week, so your timing is awesome

                    And thank you for your earlier work on GetAllWidgetsOfClass() and explanation behind its use.
                    I'm now using it for a basic loading screen in Ground Branch.
                    Works well
                    You're welcome Kris!

                    Originally posted by Jacky View Post
                    Thanks a lot Rama!
                    Hee hee!

                    Originally posted by Fen View Post
                    Thank you ! On my way to try it ^^
                    Enjoy Fen! Feel free to post what you do with it!

                    Originally posted by SaxonRah View Post
                    Great job mate : ) this will be of use to so many. thanks for the great free content!
                    You're welcome SaxonRah!
                    Last edited by Rama; 11-08-2014, 10:18 PM.
                    100+ UE4 C++ Tutorials on the UE4 Code Wiki, including UE4 Multi-Threading!

                    UE4 Marketplace: Melee Weapon Plugin & Compressed Binary Save System Plugin | Rama's C++ AI Jumping Videos | Vertex Snap Editor Plugin

                    Visit www.ue4code.com to see lots of videos about my C++ Creations! ♥ Rama

                    Comment


                    • #11
                      ~~~

                      Video

                      This video demonstrates how my Runtime Rebindable Key System does actually have a scrolling feature!

                      You can have infinite key bindings in your list!

                      I also demonstrate how easy and fast it is to add new keybindings usig Project Settings -> Input!

                      And!

                      Remember that I am giving you this whole project for your own use!

                      100+ UE4 C++ Tutorials on the UE4 Code Wiki, including UE4 Multi-Threading!

                      UE4 Marketplace: Melee Weapon Plugin & Compressed Binary Save System Plugin | Rama's C++ AI Jumping Videos | Vertex Snap Editor Plugin

                      Visit www.ue4code.com to see lots of videos about my C++ Creations! ♥ Rama

                      Comment


                      • #12
                        One thing I just noticed is that this implementation doesn't include axis mappings - e.g. MoveForward.
                        I'm sure Rama will sort that though :P
                        Rule#21: Be polite, be professional, but have a plan to kill everyone you meet.

                        Comment


                        • #13
                          Originally posted by Kris View Post
                          One thing I just noticed is that this implementation doesn't include axis mappings - e.g. MoveForward.
                          I'm sure Rama will sort that though :P
                          Yea I didnt do Axismappings yet, and that will be more C++ to do that
                          100+ UE4 C++ Tutorials on the UE4 Code Wiki, including UE4 Multi-Threading!

                          UE4 Marketplace: Melee Weapon Plugin & Compressed Binary Save System Plugin | Rama's C++ AI Jumping Videos | Vertex Snap Editor Plugin

                          Visit www.ue4code.com to see lots of videos about my C++ Creations! ♥ Rama

                          Comment


                          • #14
                            Originally posted by Rama View Post
                            Yea I didnt do Axismappings yet, and that will be more C++ to do that
                            Yep.
                            Looking at other potential issues too, such as duplicate entries for Stop/Start commands etc.
                            Can be fixed when input component is init'd, but it may pay to create a way to bind two or more actions under to key.
                            Looking at the UT source, they've have a system for this, but you have to manually put them together.
                            Hmm...
                            Rule#21: Be polite, be professional, but have a plan to kill everyone you meet.

                            Comment


                            • #15
                              Rama! This is fantastic! This feature should be added by default to the engine for blueprints. Looking forward to the axis mappings getting added!
                              Full Time UE4 Tutor! www.tesla-dev.com
                              Watch, Learn & Create using my tutorials here: *https://www.youtube.com/playlist?lis...8Zjziv4gUqjLZ_*

                              Comment

                              Working...
                              X