If you do a noodle drop search off of any VRCPlayerAPI for IsUserInVR(or just type vr it should find it) that will give you a bool to check, just connect it to a Branch for a True/False flow & you’re good to go. There are also a few Events that return VRCPlayerAPIs that you can also connect to IsUserInVR: OnPlayerJoined, OnPlayerTriggerEnter/Stay/Leave, OnPlayerCollisionEnter/Stay/Leave, with Pickup objects you can do a noodle drop search for CurrentPlayer to get the VRCPlayerAPI of whoever is holding the Pickup. I think thats most of them.
So for your example I’d say create an empty GameObject add a BoxCollider & Udon Behaviour to it. Check the BoxColliders “Is Trigger” & make the GameObject encompass the whole room.
To get started on the graph add a MeshRenderer variable & 2 material variable to the graph & make them public so you can just drag what you need onto them in the Inspector window. Drag the cube you want to change to the MeshRenderer variable & the blue/red materials to the 2 materials.
A quick graph: