RotateAround in local coordinates?

Hey. So there’s an object that is rotated around some point in space. Both the point and the object are children to another object. The parent moves and rotates itself. Now, I want the parent’s rotation to stop messing around with the child’s RotateAround. How do I accomplish that, as it seems that there’s no RotateAround local overload available?

This is how the child is being rotated:

function FixedUpdate(){	
if (doRotateArrow)
{
	this.transform.parent.RotateAround(rotationCenter.position, Vector3(1,0,0), 200 * Time.deltaTime);	
	counterToggled = true;
	
	if (fixedCounter >= 900) 	{
		doRotateArrow = false;
		counterToggled = false;
		this.transform.parent.localEulerAngles.x = 0;
		this.transform.parent.localEulerAngles.y = 180;
		this.transform.parent.localEulerAngles.z = 180;
	this.transform.parent.localPosition.x = 0;
	this.transform.parent.localPosition.y = 1.05;
	this.transform.parent.localPosition.z = 0;	
		fixedCounter = 0;
		RearrangeArrow();
	}
}

if (counterToggled)
	fixedCounter++;

}

And this is how the parent is being rotated:

void Update (){

	float mousex = Input.mousePosition.x;

	xtilt = ((mousex - Screen.width/2) / (Screen.width/2)) * 2f;
	transform.rotation = Quaternion.AngleAxis(xtilt,new Vector3(0,-1,0));

}

I see in your “child” script that you’re rotating the parent and not the child (transform.parent.RotateAround) and also you’re rotating the parent itself in its own script. About rotating in local system, transform.Rotate already applies to local system by default if you don’t specify Space.World as third parameter (e.g. transform.Rotate(Vector3.right * 200 * Time.deltaTime) should rotate the object around its X axis.