In general, different AI characters have different dimensions – radii and heights – and different walkability properties.
With that in mind, every navigation agent type (in general, every AI character type) needs its own navigation mesh, which is configured in the Scripts/AI/Navigation.xml
file.
<Navigation version="2" >
<AgentTypes>
<AgentType name="MediumSizedCharacters" voxelSize="0.125, 0.125, 0.125" radius="4" height="16" climbableHeight="3" maxWaterDepth="8" >
<SmartObjectUserClasses>
<class name="Human" />
<class name="Grunt" />
<class name="Stalker" />
</SmartObjectUserClasses>
</AgentType>
<AgentType name="LargeSizedCharacters" voxelSize="0.15, 0.15, 0.15" radius="6" height="20" climbableHeight="6" maxWaterDepth="10" >
<SmartObjectUserClasses>
<class name="Heavy" />
</SmartObjectUserClasses>
</AgentType>
<AgentType name="Pinger" voxelSize="0.25, 0.25, 0.25" radius="8" height="16" climbableHeight="6" maxWaterDepth="6" >
</AgentType>
</AgentTypes>
</Navigation>
Every agent type has:
See Off-mesh Navigation.
Note attribute version of tag Navigation in the first line. Whenever this file is updated, this attribute should be updated as well. This will force the users to re-export their maps.
Navigation agent type can be assigned to an AI character using the property NavigationType, as on the following image: