yay!! I am glad you made it through the second puzzle. I like that the discovery you made by spidey climbing was appreciated!
And I did not use cinemachine. It's actually code. I have a 3d grid calculated in the space and its a grid controller script that generates the grid where elevation is one of my variables. Then I made my Camera Controller script communicate with my Grid Controller script that checks for when cubes reach a certain elevation (1,2,3... etc. All of my distance checks are integers of 1 on all axis. But I have an array of values that I can optionally assign as checks to look at the value of an active cube's elevation after it flips into an elevation different from the one it is on, then once a Cube is detected having hit that assigned elevation, I have the camera move up or down based on if the value is higher or lower than the set value to check for. This triggers after a Cube's movement on the Y axis. example: If I have 3 assigned as the elevation to check for in the array, if the Cube moves above 3, the camera pans, up and if the cubes moves lower than 3, then it will pan back down until that elevation check value is hit again. And I can set as many array values on the Y axis to check for, so this essentially means I can pan the camera into oblivion XD I was so hype to come up with that effect. I was like yesss!!! It felt so great for me to watch unfold.
And I will definitely put some volume options in for my next iteration. Thanks for the feedback!! :D