Bind Property or Function to ProgressBar

To restate my comment as an answer, when binding a function to a slate widget, the method must have the const specifier.

That is, in your instance:

TOptional GetPercentHealth();

Should be declared:

TOptional GetPercentHealth() const;

That is, it won’t change the instance by calling this method.