Ideas on how to make a multi range slider?

Dear everyone.

In Godot 4.3, I need a multi-value range slider, that does not accepts user interaction.

I need to show a range of values (0 - 100) and also a range of accepted values:
(40-60) for example. And finally, I need to show what value we currently have (51).

I’ve been working in image-software to try and show you:

image

How would you even start doing this?

Doesn’t seem too impossible. You could probably start by extending ProgressBar. Add 2 sprite2ds or button2ds for the min and max accepted values.

2 Likes

Currently this is not available in Godot built in features, so you can create your own. But I think it would great if Godot has the feature officially. You can open a feature proposal or issue in GIPs

1 Like

Maybe we can build one and release on the assets store for now?

1 Like

Yeah, you can do it too. Both options are good.

1 Like

Could be a good idea. But for both the Progressbar Or the HSlider, I need to be able to set where the white overlays begins. Default of course, the white overlay begins filling from left to right. I need to move that with custom code somehow

Another option, just start from scratch with an empty control node. Put some code on that, and control child elements. Here I have two rectangles as children that should be controlled with code.

Okay this will probably be riddled with bugs and impossible to align and customize. But I just played around setting up all the elements I need, now the parent node just need code to control it.

But yeah I think it would be smarter to start with HSlider or Progressbar, however I don’t know how to customize these default inputs

with the default Hslider, does anyone know how to change (with code) the start and stop value for the light gray rectangle slider?

I want it to start to the left of the middle and stop to the right of the middle, without taking into account the default “value” setting.

image

Just bumping if anyone have an idea on changing the defualt HSlider :smiley:

Posted a bounty on game-dev stackexhange. Will update post here if a solution is found.

Solution was found on game-dev stackexhange.