Is it quick and allowed to change GUITexture position on Update?

How to move GUITexture properly?

I think to use pixelInset is it quick and proper way to move textures?

I want to allow for user to drag inner circle by mouse.
[1]

  1. Changing position of DragCircle.transform.position do nothing! Why??

    Update()
    {

     if (Input.GetMouseButtonDown(0))
     		{
     			var x = Input.mousePosition.x;
     			var y = Input.mousePosition.y;
     			
     			var pos=DragCircle.transform.position;
     			pos.x=x;
     			pos.y=y;
     			
     			DragCircle.transform.position = pos;
     		}
    

    }

Is it proper way to implement such control?!

I’m not sure why it ‘does nothing’. Given the code you have above, I would expect the circle to disappear. As mentioned, you have to convert the mouse position to Viewport space. So your code above that moves the object to the position clicked could be:

#pragma strict

function Update() {
 
    if (Input.GetMouseButtonDown(0)) {
			transform.position = Camera.main.ScreenToViewportPoint(Input.mousePosition);
	}
}

To test, start with a new scene, create a GUITexture (Game Object>Create Other>GUI TExture), and attach this script.