NavigationRegion3Ds' RIDs not registered with default World3D navigation map?

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By RudyFisher

Hi,

I’ve noticed that my NavigationRegion3Ds don’t seem to be registering with the default navigation map.

Does each NavigationRegion3D have to be manually added to it? Or maybe I am accessing them incorrectly?

func _ready() -> void:
print_debug(get_world_3d().get_navigation_map()) # 1
for map in NavigationServer3D.get_maps():
	print_debug(map) # 2
	print_debug(NavigationServer3D.map_get_regions(map)) # 3

The resulting debug prints:

RID(4290672328704) # 1
At: res://game_board_server/game_board_server.gd:16:_ready()
RID(4290672328704) # 2
At: res://game_board_server/game_board_server.gd:18:_ready()
# 3
At: res://game_board_server/game_board_server.gd:19:_ready()

Thanks,
Rudy

:bust_in_silhouette: Reply From: smix8

NavigationRegion3D will register with the World3D navigation map when they join the SceneTree.

The reason why your map_get_regions() query is empty / does not have the regions is because you need to wait for the NavigationServer sync which happens after the next physics_frame.