A real-time circular minimap system for Godot 4 featuring 3D world tracking, player rotation alignment, and edge clamping.
- 🎨 Added icon system using the
IconTypefeature (Color or 2D Texture) - 📦 Added default preset icons (automatically loaded from the plugin folder)
- 🌍 Added 2D support (unified Node2D + Node3D system)
- 🧭 Player icon now supports direction rotation
- ⚡
- 📍 Objects now strictly depend on group names + IconType mapping
- 🎯 Priority rendering: Texture → Player Drawing → Color feature
- 🧠 Improved edge fixing system
- 🧩 Cleaner modular architecture for plugin use
The minimap now uses a Resource-based icon system.
Each tracked object is defined by an IconType, which connects:
- A group name
- A fallback color
- An optional Texture2D icon
Every object MUST:
- Be added to a Godot Group (example:
enemy,item,player) - Have a matching
IconTypedefined in the minimap inspector
type→ Group namecolor→ fallback color if no texture existstexture→ optional Texture2D icon
- Texture2D (if assigned)
- Player custom triangle icon
- Color fallback circle
- Download or clone this repository
- Copy the folder into your project: res://addons/dynamic_minimap/
- Enable the plugin in: Project → Project Settings → Plugins
Instance the minimap scene into your HUD: Minimap.tscn
In the inspector: player_node = YourPlayerNode
Grouping is now MANDATORY for tracking.
| Type | Group Name |
|---|---|
| Player | player |
| Enemy | enemy |
| Item | item |
Example:
add_to_group("enemy") to register the object.
player_node→ Player referenceradius→ Minimap sizeworld_scale→ World scale for the minimap
clamp_to_border→ Keeps objects on the edge of the minimaprotate_with_player→ Rotates the minimap with the playerenabled_auto_register→ Scans groups automatically
icons→ IconType resource arrayicon_size→ Texture icon sizeuse_default_icons→ Loads standard built-in icons
show_debug→ Prints debugging information (missing player/groups)
- Converts the world's XZ position into a 2D minimap
- Supports Node2D and Node3D
- Applies player rotation compensation (optional)
- Scales using
world_scale - Fixes objects to the edge when enabled
- Dynamically renders icons based on the IconType system
- Uses group-based tracking for all entities
- Designed for top-down minimaps or RPG/FPS HUDs
- Works best with consistent world scale
- Optimized for runtime updates
This project is licensed under the MIT License — see the LICENSE file for details.
Created by SkooGamer
