---
title: Making your Mod able to walk
description: "To access navigation features, gw2cc offers a customized version of Godot's NavigationServer. **Libcc** provides an easy way to utilize it `(libcc/navigation/NavigationMapInstance.gd)`. Assuming you created a new Bot using the `Project->Tools->Create Mod` wizard, simply add a Node3D named `NavigationMapInstance` to your…"
url: "https://gw2cc.eu/docs/making-your-mod-able-to-walk/"
updated: "2025-02-07"
category: Developer Guide
---

# Making your Mod able to walk

To access navigation features, gw2cc offers a customized version of Godot's NavigationServer.

**Libcc** provides an easy way to utilize it `(libcc/navigation/NavigationMapInstance.gd)`. Assuming you created a new Bot using the `Project->Tools->Create Mod` wizard, simply add a Node3D named `NavigationMapInstance` to your bot scene and Drag & Drop `NavigationMapInstance.gd` onto it. Right click the node, select `"Access as unique node"`. Make sure this is**not the first child** of your BehaviorTree! In your BehaviorTree root node add this code snipped to the `_on_controlled_character_spawned`function like so:

```
func _on_controlled_character_spawned(_cc: AgentChar) -> void:
    var path = ContentService.get_asset_dir().path_join("map").path_join(str(Manager.mission.map_def.map_file) + ".res")
    %NavigationMapInstance.map = load(path)
    %NavigationMapInstance.mesh = await %NavigationMapInstance.load_nav_for_map(Manager.mission.get_map_id(),BOT_NAME)
    _context["nav_map"] = %NavigationMapInstance.navigation_map
    _start_b_tree()
    unpause()
```

This would cause your bot to automagically load/create and save the generated `NavigationMesh`for each map at `game_data101BOT_NAME`.

[![](https://i0.wp.com/gw2cc.eu/wp-content/uploads/image-25.png?resize=1024%2C533&ssl=1)](https://i0.wp.com/i.imgur.com/MWh8o6l.png?ssl=1)
