So I have an enemy that follows the player, with a child object that is initially aligned exactly with the parent, that I want to constantly oscillate back and forth in the parent’s forward 180 degree arc.

I have it working, but its using world space no matter what I try. Here’s how I’m doing it:

function Update(){

	if(reverse){
		transform.Rotate(-transform.up*Time.deltaTime*30.0, Space.Self);
		if(transform.rotation.eulerAngles.y < 90.0)
			reverse = false;
	}
	else{
		transform.Rotate(transform.up*Time.deltaTime*30.0, Space.Self);
		if(transform.rotation.eulerAngles.y > 270.0)
			reverse = true;
	}
	
}

I’ve tried a multitude of combinations, between changing transform.up to transform.parent.up, Space.World, etc., to no avail :frowning:

Sounds like you want to use localRotation, not rotation.