Solved: Progress Bar Widget Interpolation in UE5.2

Hey there folks! I’ve been wracking my brain pretty hard figuring out how to interpolate ProgressBar percents in 5.2.

Right now within the ProgressBar’s bind function, I am passing GameplayAttributes via ‘Get Attribute Float’ through ‘Interpolate to’ by passing acessing every .5 seconds, but the output is still VERY choppy.

How can I correct this?

1 Like

Provide Target float in 0-1 range.

1 Like

For some reason get percent from Progress Bar reference returns 0.

Is your target 0?

I get this:

image

And a normal progress bar, at least in UE5.2.

I tried this at first, but ProgressBar_0 Percent returns 0.

This particular thing does not return 0 on my end, it returns the very first interpolation step only. It seems like it should work but it does not. I no longer trust sampling widget data, caching creates stale results?

Could it be it? It returns the first interp step, but when you resample the PB, you get 0 again, the visual aspect is updated, the internal value has yet to be.


The extra variable in my previous post seems to do the trick.

So I tried this stupid thing:

Also it does not work. Does it really not work with your Target var?


This part returns 0. So Interp can’t output if current always 0.

1 Like

Looks like Target Percent gets ignored if Percent has a bind.


image
image

Yup. I’ve been always doing it like so:

Sampling widgets might have worked under UE4, it might be a regression.


I wonder whether it has something to do with locale, seeing that you’re using , rather than . for decimal points. Or, most likely, reading widget data is buggy as hell atm.

Yes, it does. I was just trying to remove unnecessary (seemingly) variable to simplify the bind.

1 Like

It changes automatically to ,

It changes automatically to ,

I know, was grasping at straws ;p


The progress bar behaviour is by design:


I no longer trust sampling widget data

Fair enough.

1 Like

Oh, well… alright then…

1 Like

Oh wow it’s not just me!

Okay so when I figure this out myself Ill post the solution here. Thanks for the help folks.

First 2 comments is a solution.

1 Like

It’s not.

The above solution passes the wrong floats in my current environment.

What do you mean?
Can we see the code?

1 Like

What I have is exactly what is posted here:

It does interpolate, if I pass OldHealth to “Interpolated” in this context, however, as I said, the rate of progress bar change is still very VERY choppy. Other solutions that reference the bar itself ignore the interp entirely.