<?xml version="1.0" encoding="UTF-8" ?>
<class name="NavigationRegion3D" inherits="Node3D" version="4.0">
	<brief_description>
		A region of the navigation map.
	</brief_description>
	<description>
		A region of the navigation map. It tells the [NavigationServer3D] what can be navigated and what cannot, based on its [NavigationMesh] resource.
		Two regions can be connected to each other if they share a similar edge. You can set the minimum distance between two vertices required to connect two edges by using [method NavigationServer3D.map_set_edge_connection_margin].
	</description>
	<tutorials>
	</tutorials>
	<methods>
		<method name="bake_navigation_mesh">
			<return type="void">
			</return>
			<description>
				Bakes the [NavigationMesh]. The baking is done in a separate thread because navigation baking is not a cheap operation. This can be done at runtime. When it is completed, it automatically sets the new [NavigationMesh].
			</description>
		</method>
	</methods>
	<members>
		<member name="enabled" type="bool" setter="set_enabled" getter="is_enabled" default="true">
			Determines if the [NavigationRegion3D] is enabled or disabled.
		</member>
		<member name="layers" type="int" setter="set_layers" getter="get_layers" default="1">
			A bitfield determining all layers the region belongs to. These layers can be checked upon when requesting a path with [method NavigationServer3D.map_get_path].
		</member>
		<member name="navmesh" type="NavigationMesh" setter="set_navigation_mesh" getter="get_navigation_mesh">
			The [NavigationMesh] resource to use.
		</member>
	</members>
	<signals>
		<signal name="bake_finished">
			<description>
				Notifies when the navigation mesh bake operation is completed.
			</description>
		</signal>
		<signal name="navigation_mesh_changed">
			<description>
				Notifies when the [NavigationMesh] has changed.
			</description>
		</signal>
	</signals>
	<constants>
	</constants>
</class>