No announcement yet.

Button Prototype Kit

  • Filter
  • Time
  • Show
Clear All
new posts

    [SUPPORT] Button Prototype Kit

    This is the support thread for the Button Prototype Kit asset. You can find the release post here.

    Please write here all the problems you encountered, and all the improvements you would like me to make to this asset.

    Thank you.
    Last edited by PuzzleKit; 12-17-2019, 03:47 AM.

    After the last update to support 4.24, a few samples in the demo level were broken.

    They are now fixed, but the version is in the Pending File Update state in the marketplace.

    Please update the package once the new code is available.


      Hello! Thank you for this wonderfully flexible system! I'm doing my best to learn how to use it properly at the moment via your excellent documentation at

      I am finding it a little advanced for my Blueprint skills right now though, so I wondered if you could advise me a little.

      Using Button Prototype Kit, how would you recommend implementing the following:
      • A simple dynamic light that listens to one or more buttons to enable / disable the light actor
      • A modified animation behavior that scales an object rather than moving it or rotating it
      • Correctly access the current state from within a child BP (eg, in order to add additional graph functions into one particular actor that is a child or grandchild of the prototype BP)
      I think current my solutions are probably very poorly implemented (hacky) and don't make proper use of the clever design on the prototype button.



        Thank you for your review.

        First of all, I believe everything you want to do, can be easily achieved with this asset, so thank you for choosing it.

        A simple dynamic light that listens to one or more buttons to enable / disable the light actor

        A modified animation behavior that scales an object rather than moving it or rotating it
        • This is something I did not think about, but, is definitely possible. You can tackle it in multiple ways:
          • the quickest way will be to directly modify the BP_PK_ButtonPrototype, specifically the MoveLerp function (that is called on the AnimateHandle event).
          • another way is to actually subscribe to the state change event, and change the scale as desired. Maybe the new light switch example will help, or, maybe a look at the Blueprints/Presets/Display/BP_PK_DisplayBase.

        Correctly access the current state from within a child BP (eg, in order to add additional graph functions into one particular actor that is a child or grandchild of the prototype BP)
        • If you created a child blueprint class, you already have access to PK_HandleOwnStateChanged and PK_HandleOwnChangeFailure events. I believe that is the place you should add your logic.

        If you need more information, please reach me at the support email address, with the exact flow you want to implement, and all the problems you may have, and I will answer, in detail, as soon as possible.

        Have fun!


          Originally posted by PuzzleKit View Post
          This is wonderful! Thank you so much for your efforts! Your light example makes everything a lot clearer to me! I'll experiment with the scale animation too. I'm not sure where to find the support email address, can you please point me in the right direction?


            Thank you for your kind words.

            You can find the support email on my marketplace profile page:


              Sorry first for my English. I am a little new to this blueprint, my question is how to implement it to any character. Greetings

              Primero perdón por mi ingles.
              Soy un poco nuevo en esto de los blueprint, mi pregunta es como implementarlo a cualquier personaje.
              un saludo



                If you insepct the PKFirstPersonCharacter from the Demo folder, you can see how the functionality from the demo level is done. That also takes into account mutiplayer support.

                If you do not need multiplayer support, you could do, in your character, something like in the attached image.

                Let me know if I was clear enough, or if you need more information.

                Click image for larger version

Name:	first_person_character.png
Views:	158
Size:	234.4 KB
ID:	1741017

                Last edited by PuzzleKit; 04-03-2020, 07:02 AM.



                  I created a sample tutorial video for creating character interactions with button prototype asset. Find it here:

                  It uses the First Person game template and interacts with buttons:
                  - when the projectile hits a button
                  - or when the camera is pointing at a button and you click the mouse (like in the demo level)

                  Hope you find it useful,

                  Have fun!
                  Last edited by PuzzleKit; 04-04-2020, 08:59 AM.


                    Hey there, A+ asset pack! Quick question, can I edit the Listen To array on an object's ObserveReactComp after it was spawned into the level?


                      Thak you for your apperciation.

                      The ObserveReactComponent was ment to have everything it needs on begin play, so the event binding is done on BeginPlay. If you add something afterwards, it will not work. This is becase, depending on the selected aggregation method (Passthrough, Aggregate or AddTobuffer), more calculation is done on Begin Play based on the number and the state values of the actors from the ListenTo array.

                      But, assuming you want to have A reacting to B state changes: instead of adding B to the Listen To Array of Button A, maybe you can add A to the Send Actions To array of button B. Let me know if this works.

                      If the above solution does not work, It would be great if you could send me an email with your setup, and tell me exactly what you want to achieve. I could, then, provide more guidance, or, if possible, I could include something in the next asset release that might help with your game.

                      Have a great day!
                      Last edited by PuzzleKit; 04-14-2020, 12:59 AM.


                        Click image for larger version

Name:	Untitled.png
Views:	102
Size:	251.0 KB
ID:	1754688Do you have a list of the orientation of the pipes, great addition but no idea what way round they go for each of the shapes, what is LeftUp or DownLeft etc etc LOL
                        Last edited by mrksmt9; 05-03-2020, 04:41 PM.



                          Yes, I aggree the naming of the pipes can be a bit confusng. What I did, I gave each possible state for the pipe, the short name for each one of the directions is has connections with. (Lt - has left connection, Rt - has right connection, Up - has up connection, Dn-has doen connection.) I also read the connections clockwise.

                          To see this, you can go on each pipe, and inspect the IterativeStateComponent States array, and have a list of all possible states (positions) for that pipe.

                          Click image for larger version

Name:	image_190741.png
Views:	152
Size:	516.3 KB
ID:	1754785

                          Here are some naming examples,
                          - the L segment, in this position is UpRt, as it can connect with up and right. If you would rotate it by 90 it will have connections to right and down, thus DnRt.
                          - a I segment, in this position will be UpDn. If you wourld rotate it becomes ---- and it will be LfRt
                          - a + segment, is LfUpDnRt no matter hwo you rotate it, as it will have connections in all 4 directions.

                          If you find this confusing too, you can rename all states in the IterativeStateComponent of the pipes, and then change the Rule condition accordingly. So, state names for each pipe could be as simple as 1, 2, 3, 4... , and then have the correct succession in the Rues array.

                          I hope this answers your question.

                          Please let me know If ther is anything else I can help you with.

                          Have fun!
                          Last edited by PuzzleKit; 05-03-2020, 11:11 PM.


                            Is their a way you can do a computer system kit, so you can click on the computer and then look at emails or notes etc?


                              I do not think this you can do this with this asset alone. But, I am sure you can combine it with other assets (that maybe have that browser email/notes functionality) to achieve the desired result.