I made an overaching game object that handles a lot of the game's big functions including the pause function.
func _process(delta):
var k_pause = Input.is_action_pressed("pause")
if !get_tree().is_paused() and can_pause and k_pause:
get_tree().set_pause(true)
elif get_tree().is_paused() and k_pause:
get_tree().set_pause(false)
As a simple object, it works as intended- taking the game in and out of pause- because I set the Pause mode to "Process". After learning about Autoload and singletons, I made the game object autoloaded. Thing is, although the game object is always around as intended, when it falls into the Pause state, it cannot get out. It remains paused even though the object is supposed to Process while the tree is paused.
I've looked at how the game handles roots and SceneTrees, but I can't figure out why my game singleton gets paused when it activates pause mode.