Had a look at this last night. I set up a test project on 4.10.x first person template and am pretty sure I was able to reproduce and remedy problems 1 and 2.
My test was an image on a canvas panel in a widget blueprint created and added to viewport by the HUD class set in the gamemode (this was just the setup that came together in a few minutes, not done this way purposefully by design but it was fine).
Once I had everything set up in a way that made sense to me and I hit PIE and got nothing. Looking at the widget I had a red box under the brush binding in the details on the designer complaining that my material was not in the UI domain and offering to fix it. I clicked fix and was treated to my animation in… silhouette. I needed to go back into the material and drive it’s emissive colour with the flipbook and hey presto, UI loads with flipbooks running glorious technicolour in UMG.
Following a bit of reading I realized a couple of things - the time node has a purpose but this aint it. I also realized that the Animation Phase takes a scalar that represents the frame position of the animation as a percentage of the total frames. So I used a 4 frame test animation meaning that each frame was .25 from the previous one. With that in mind I created a scalar parameter to drive the progression and replaced the time node with it.
In order to get this to play nice I had to create an instance of the material. In the widget blueprint off of event beginplay (I think, will double check later) I created a dynamic material instance from my material and set this as a variable. In my brush binding I bound the dynamic material variable (with make brush). From there I went back into the event graph on the widget and used tick with the ‘set scalar parameter’ node on the material variable and again success.
I wonder if you’re creating the dynamic material at the right point, i.e. before you try to bind it. Sounds silly but I remember having trouble setting the material just before creating the brush (maybe that’s just me doing something stopid) moving that into the event graph allowed me to change the value of the scalar parameter, happy days.
Setting up this way I could determine and change which frame of the animation I was on. All that remains is to increment the frame from blueprint when appropriate.
Let me know if this doesn’t make sense and I will try to help but I don’t have my test project with me so I may only get to it tonight.