I'm hand-building all the GUI elements myself, though I'm considering trying out Daikon Forge. I was actually able to find a way to get this working - it may not be super elegant, but it functions! I'll share it here in case it's helpful to anybody else:
Slider consists of 8 objects:
- Background bar graphic
- 5 slider points: empty game objects spread along the bar, these are the 5 points I want to snap to
- Visible button (sprite)
- Invisible button (gameobject with box collider)
The invisible button starts right on top of the visible button. This is what the player grabs and drags when they go to slide the button. The 5 slider points are in an ArrayList. When the invisible button is being dragged it is looking to find the closest slider point every frame. When the closest slider point changes (ie the invisible button you're dragging is now closer to point 2 than point 1), it sends a message to the visible button sprite to change it's location to the new closest point. This lets the visible button sprite "step" between the different slider points as you drag. On mouse up, the invisible button changes it's position back to the visible button, so that you can drag it again.
Hope that makes sense