> For the complete documentation index, see [llms.txt](https://sickscoregames.gitbook.io/hud-navigation-system/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://sickscoregames.gitbook.io/hud-navigation-system/map-profiles/overview.md).

# Component Info

## Map Profile

*Map Profiles* store the rendered (mini)map texture as well as it's corresponding map bounds. To create a new *Map Profile*, you have to use the [Map Texture Creator](/hud-navigation-system/map-profiles/create-profiles.md).

![](/files/-M6JBM6uEwYBxNrnNJUI)

## Custom Layers

You can add *Custom Layers* to any *Map Profile*, which you can access by code at runtime.

{% hint style="info" %}
*Custom Layers* can be used to include custom logic to your (mini)map, such as day/night mode, cave systems, heat maps, etc...
{% endhint %}

### Settings

* **Name:** Enter a unique name, which will be used to access this layer in code
* **Texture:** Assign your custom layer texture. Make sure it has the same dimensions as the map texture!
* **Enabled:** If checked, the custom layer is enabled and can be accessed by code.

### Code Example

Toggle a custom layer's visibility by pressing the "*F*" key.

```csharp
using UnityEngine;
using SickscoreGames.HUDNavigationSystem;

public class CustomLayerExample : MonoBehaviour
{
	private HUDNavigationSystem _HUDNavigationSystem;

	void Start ()
	{
		_HUDNavigationSystem = HUDNavigationSystem.Instance;
	}


	void Update ()
	{
		// check if the 'F' key was pressed
		if (Input.GetKeyDown(KeyCode.F) && _HUDNavigationSystem.currentMinimapProfile != null)
		{
			// get custom layer from the current map profile
			GameObject customLayer = _HUDNavigationSystem.currentMinimapProfile.GetCustomLayer("customLayerName");
			if (customLayer != null)
				customLayer.SetActive(!customLayer.activeSelf);
		}
	}
}
```
