Announcement

Collapse
No announcement yet.

Add Finished output execution pin on Widget animation PLAY node

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

    [FEATURE REQUEST] Add Finished output execution pin on Widget animation PLAY node

    I have a request about changing the way how to go about making the logic for the UMG animation. For now if there are actions that need to be taken when a certain UMG animation is finished, there has to be a dispatcher called ON ANIMATION FINISHED. This is a problem because it makes the whole logic a lot more complicated to implement and to follow.

    For example I have WidgetA with two buttons (Btn1 and Btn2). Btn1 needs to create another widget (WidgetB) and send some initial input (set some variables) to WidgetB. But the BtnA shouldn't create WidgetB until the animation is completed. And let's say that Btn2 also has to create WidgetB with different initial inputs after the animation is completed. Then all the custom logic for each button needs to be put in the custom event that is bound on the ANIMATION FINISHED dispatcher.

    What I'm proposing is that there is an output execution pin on the play animation Node that will be called when the animation is completed (same as the one on the Timeline Node). That way the logic will be more readable and simple to implement and understand.

    Attached here is a screenshot describing the current and the proposed way of working.

    Not compressed version of screenshot
    Last edited by zaksi; 12-17-2018, 08:18 AM.

    #2
    That would be very useful! I was just thinking about this same thing recently.

    Comment


      #3
      Would be very handy. In theory this could easily exist alongside the existing nodes too.

      Comment


        #4
        Yea i have a few widgets to play in a row,i used a delay in between to allow each widget to play out.

        Comment


          #5
          Originally posted by razmaz51 View Post
          Yea i have a few widgets to play in a row,i used a delay in between to allow each widget to play out.
          The problem with using the Delay node is that it does not guarantee that it will fire at the exact time when the animation is finished. Also another problem is that if you change the animation length, you have to change the delay time as well. So all in all it's a messy solution also.

          Comment


            #6
            It's very easy to modify that "Play Animation" node and include the delegate as input (callback) in the end of the node;
            I think UMG developer just didn't anticipate the need, just have to make them see this and in few minutes it could be added..
            | Savior | USQLite | FSM | Object Pool | Sound Occlusion | Property Transfer | Magic Nodes | MORE |

            Comment


              #7
              Originally posted by BrUnO XaVIeR View Post
              It's very easy to modify that "Play Animation" node and include the delegate as input (callback) in the end of the node;
              I think UMG developer just didn't anticipate the need, just have to make them see this and in few minutes it could be added..
              That's great news! Now I just got to find an UMG developer somewhere...

              Comment


                #8
                This would be really useful. +1
                My website: https://www.pijellypin.com
                Multiplayer Components: https://www.unrealengine.com/marketp...yer-components

                Comment


                  #9
                  Originally posted by zaksi View Post

                  That's great news! Now I just got to find an UMG developer somewhere...
                  Your best bet would be rising a push/issue on Unreal's GitHub to get engine developers' attention.
                  | Savior | USQLite | FSM | Object Pool | Sound Occlusion | Property Transfer | Magic Nodes | MORE |

                  Comment


                    #10
                    Originally posted by BrUnO XaVIeR View Post

                    Your best bet would be rising a push/issue on Unreal's GitHub to get engine developers' attention.
                    I already looked into this and it would require me to create a completely new node (which is totally possible) as it currently uses a `BLUEPRINTCALLABLE`. I'll do it sometime during the Christmas holiday. Happy Holidays!

                    Comment


                      #11
                      Would be cool to implement this as an async node so it can actually have a second exec output instead of having to plug in a delegate.

                      Comment


                        #12
                        Originally posted by project.gheist View Post

                        I already looked into this and it would require me to create a completely new node (which is totally possible) as it currently uses a `BLUEPRINTCALLABLE`. I'll do it sometime during the Christmas holiday. Happy Holidays!
                        Hi,
                        I hope you had great holidays.
                        I'd like to checkup if you had the chance to work on this.

                        Comment


                          #13
                          I was able to create this node, I'll be testing it and most likely commit the changes to Github later today.

                          Comment


                            #14
                            Originally posted by project.gheist View Post
                            I was able to create this node, I'll be testing it and most likely commit the changes to Github later today.
                            Superb! I'm grateful that you took the time to make this happen.

                            Comment


                              #15
                              See Github PR #5504 for the code changes. Cheers,
                              Last edited by project.gheist; 01-28-2019, 04:27 PM.

                              Comment

                              Working...
                              X