That seems to work for most things and I do that as much as I can. But for example, I have an option box and it saves its current selection to a config file.
But when you reopen the options menu
C#:
int current = (int)config.GetValue("Resolution", "Selection")
GetNode<OptionButton>("nodepath here").Select(config)
Simply just does not work and it wont even throw an error.
But when attach a script to the options box node and type in
C#:
int current = (int)config.GetValue("Resolution", "Selection")
this.Select(config)
It works exactly as intended.