Changing rotation of a DontDestroyOnLoad gameobject between scenes does not update

I have a project with 3 scenes. Two that use the same room prefab and one menu to go between the two rooms. In each room scene, I am just rotating the room to a new position when you enter it.

Since the room is the same for each scene, I’ve instantiated it in the menu scene and made it persistent with DontDestroyOnLoad. That’s all working great and I’ve only got one room showing up in each scene.

I added a “roomPos” gameObject in each scene whose transform is set to the rotation I want for the room. This is the script on the roomPos gameObject:

GameObject garage;

void Start () {
	// find the DontDestroyOnLoad room...
	garage = GameObject.FindWithTag("Garage");
	// set its rotation to this object's rotation 
	garage.transform.rotation = gameObject.transform.rotation;

When I run it and select the DontDestroyOnLoad garage in the hierarchy, the inspector shows it’s rotation changed to the values of the roomPos, but on screen it has not rotated, it appears the same as when it was first instantiated. If I manually change any numbers in the inspector, the garage does not rotate, but the numbers in the inspector do.

Looks like the code is doing what it is supposed to do, but maybe I am misunderstanding how to manipulate an instantiated gameObject that is set to persist between scenes?

You may ask why not just move the camera between scenes, but there are a ton of other things in the room that needs specific setup in the camera view, and the room is really a simple box easier to manipulate.

Any insight is greatly appreciated. thanks,

Anyone?.. Beuller?..