Rotate with script and point

I have a script that when I click on a button, I move a project to the right place, I need to immediately after he has transmuted it turned around by 30 degrees in x on the red dot, what is the best way to do this?

um I think to RotateAround is what you need.

public Vector3 redDotPos;// on global pos
transform.RotateAround(redDotPos,30f ,Vector3.up);

if you want to change position of the square, you’ll need the redDotPos relative to the main center of the quad, so on local position

//on local pos, relative to the center
public Vector3 redDotPos; 
//convert to global
Vector3 globalDotPos =  transform.position + (transform.forward * redDotPos.y + 
		transform.right * redDotPos.x - 
		transform.up * redDotPos.z);
transform.RotateAround(globalDotPos, 30f ,Vector3.up);