return 1 or 0 from object path animation

I have a GameObject in my scene that I would like to behave like a horizontal slider. What I mean by this is that I would like to have the object move along a track. At the start position the object will return a 0 value. If a user drags the object along this preset path to the end of the path the object will return a 1 value.

I realize that this is probably a 2 step process. The first part is how do I lock the object to only travel along a predefined path when the user click-drags it. The path may not be a straight line. The second part is how to I return a float depending on where that object is on the path?

I understand that this would be much more easily handled with the GUI slider, but this object must actually reside in 3D space.

Lets say your slider slides along the X axis. You want to lock it from moving on the Y and Z axes.

You would do something like this...

// Your variable that holds the x position of the mouse cursor in your 3d space
int mousePositionX = yourMousePositionX; 

transform.Translate(mousePositionX, transform.position.y, transform.position.z);

Basically the only thing that changes is the x position of your slider, the other too are simply set to what they already are.

For the second part, to determine if the slider is in a 0 or 1 position, simply get the position of your object.

if(transform.position.x <= -0.5)
  return 0;
else if(transform.position.y >= 0.5)
  return 1;

So you are checking here if the slider is past a certain point. Depending on where in space your slider is and how long it is on the x axis you will need to adjust it to fit.

Good luck :-)