In the line
onready var nav_2d : Navigation2D = "root/" + root_nav + "/Navigation"
The thing being assigned (the "root/" + root_nav + "/Navigation"
part) is a string. The variable's type, however, is Navigation2D
. That's where the error is coming from.
If you are wondering, the path to a node is not the same thing as the path from a Navigation2D
node. A node's path is where it's located in the scene tree, while the path of a Navigation2D
is one that was laid by the user.