Rigidbody.position causes shaking

int x = Screen.width / 2;
int y = Screen.height / 2;
GameObject Cube = GameObject.Find(“Cube”);
Ray ray = Camera.main.ScreenPointToRay(new Vector3(x, y));
RaycastHit hit;

		if (Physics.Raycast(ray, out hit)) {
			Cube.rigidbody.position = hit.point; 
			Cube.rigidbody.velocity = new Vector3(0, 0, 0);
		}

Cube has rigidbody in it.

I saw from your comments that you’re doing this in the Update method.

Interactions with the physics engine (rigibodies, etc.) should ONLY be done in the FixedUpdate method.

Also, according to the documentation for Rigidbody.position:

This is similar to setting transform.position, however the position will only be applied to the transform at the end of the physics step. If you want to continously move a rigidbody or kinematic rigidbody use MovePosition and MoveRotation instead.