@ -393,7 +393,15 @@ Error SceneState::_parse_node(Node *p_owner, Node *p_node, int p_parent_idx, Map
nd . name = _nm_get_string ( p_node - > get_name ( ) , name_map ) ;
nd . instance = - 1 ; //not instanced by default
nd . index = p_node - > get_index ( ) ;
//really convoluted condition, but it basically checks that index is only saved when part of an inherited scene OR the node parent is from the edited scene
if ( p_owner - > get_scene_inherited_state ( ) . is_null ( ) & & ( p_node = = p_owner | | ( p_node - > get_owner ( ) = = p_owner & & ( p_node - > get_parent ( ) = = p_owner | | p_node - > get_parent ( ) - > get_owner ( ) = = p_owner ) ) ) ) {
//do not save index, because it belongs to saved scene and scene is not inherited
nd . index = - 1 ;
} else {
//part of an inherited scene, or parent is from an instanced scene
nd . index = p_node - > get_index ( ) ;
}
// if this node is part of an instanced scene or sub-instanced scene
// we need to get the corresponding instance states.