Hi [岡田 [Content removed]
I see you already settled for a solution that suits your needs.
In any case, allow me to share some extra information about the spinbox in case it is useful for you or somebody else that comes across this topic.
As you probably have guessed, the behavior you observed is by design: by default, the spinbox increases linearly when its minimum and maximum values are set, and exponentially otherwise. If you need to have the exact same exponential behavior of the unbounded spinbox, but constrained within a range, I’d say that the best approach is indeed to force the limits on the client code. Another possibility would be for the client code to map a linear value coming from the bounded spinbox to the desired exponential value needed elsewhere.
That said, note that the spinbox has some useful hidden features: for example, you can make it spin 10 times faster by holding down the shift key while dragging, or 10 times slower by holding down the control key.
Moreover, in C++, you have several configuration options which might not have been exported to UMG. In particular, you can change the “SliderExponent” attribute to make the spin behavior exponential even when a range is set, and you can set the “SliderExponentNeutralValue” to define the value around which you’d like the user to have the most precision (instead of zero). On the other hand, in my tests here, I was not able to use these settings to reproduce the exact same exponential behavior of the unbounded spinbox, so you might be better off with your current solution, depending on your needs.
I hope this was informative. If you don’t need any further assistance, I’ll close this topic in a few days.
Best regards,
Vitor