As for why, it's because the node path is relative to the caller* - in this case f
. So by specifying "f/Player/Pos2" Godot is looking for a child of f
named "f", with a child "Player", with a child "Pos2". This is what is causing m
to be a "null instance".
* Note that you can specify absolute paths (e.g. "/root/f/Player/Pos2") but that's not recommended as it will always assume that f
is a top level node.