Unable to set NavigationPolygon into a region through GDScript

Godot Version

4.4.1

Question

Hi, I’m trying to set a NavigationPolygon to a NavigationRegion2D but then when I try to query the region to get a random point in it, it always return the Vector2 (0,0). It seems like the region isn’t well configured.
Here is a minimal reproduction of my issue :

What i tried so far

Using add_polygon of NavigationPolygon

extends Node
@onready var region: NavigationRegion2D = $NavigationRegion2D

func _ready() -> void:
	region.navigation_polygon = NavigationPolygon.new()
	var outline = PackedVector2Array([Vector2(-10.,-10.),Vector2(10.,-10.),Vector2(10.,10.), Vector2(-10.,10)])
	region.navigation_polygon.add_outline(outline)
	region.bake_navigation_polygon()


func _physics_process(delta: float) -> void:
	var point = NavigationServer2D.map_get_random_point(region.get_navigation_map(), region.navigation_layers, true)
	print(point)

Using NavigationServer2D.bake_from_source_geometry_data

extends Node
@onready var region: NavigationRegion2D = $NavigationRegion2D

func _ready() -> void:
	region.navigation_polygon = NavigationPolygon.new()
	var outline = PackedVector2Array([Vector2(-10.,-10.),Vector2(10.,-10.),Vector2(10.,10.), Vector2(-10.,10)])
	var geometry = NavigationMeshSourceGeometryData2D.new()
	geometry.add_traversable_outline(outline)
	NavigationServer2D.bake_from_source_geometry_data(region.navigation_polygon, geometry)


func _physics_process(delta: float) -> void:
	var point = NavigationServer2D.map_get_random_point(region.get_navigation_map(), region.navigation_layers, true)
	print(point)

No error or warning has been raised.

Does anyone have any clues why this isn’t working ? :grinning_face_with_smiling_eyes: