So trying it today, it turns out I had nothing wrong. It was just bugged and it worked fine today

Made the pause menu with placeholders and it worked. Added a volume slider and spent way too much time trying to figure out how to adjust the AudioListener since like everyone result on google was about changing individual audiosources or audiomixer but I just wanted an overall volume control.
Turns out audiolistener is default static so you don't make [privateSerialized] private AudioListener Audio like I was trying.
Instead my entire code for my audio volume slider is literally:
public class VolumeSlider : MonoBehaviour
{
public void Volume(float vol)
{
AudioListener.volume = vol;
}
}

Anyhow, it worked. I can hit the placeholder pause button in the upper right corner and it'll pause the game and bring up the pause screen and can adjust the overall volume and unpause. Since it's attached to the gamemanager static, it works in both stages.
Very, very, very slowly starting to refresh on how to do things.
Should probably clean up the pause screen visually. I couldn't remember how to make an image that said Volume so I just made a button that says Volume and does nothing on click for placeholder lazyiness.
And I should probably try to make a new stage for the game to remember how to make things. Honestly it feels like it's harder going back to an old project and adding things vs like just starting on an all new project fresh. Because with the former you have to remember how to do things whereas with the latter you can just start with a blank slate and do things one at a time looking up how to do each thing.
But yeah, overall this really sucks how much I've already forgotten. I'm like uhhh how do I make a top part of a script correctly to make a variable? How do I get getcomponent?
I guess if I can pull myself back into this I need to make sure I never take more than like a week or two off without doing some coding, just to keep it in the brain.