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


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/
RID(4290672328704) # 2
At: res://game_board_server/
# 3
At: res://game_board_server/


: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.