How to Use the Visual Map Names System
Quick Setup
- Make sure you have the MapSceneSetup script attached to any GameObject in your scene
- Play the scene - it will automatically set up all components
- Names will appear on the map by default as white text labels
- Press N key to toggle names on/off
- Hover over locations to see tooltips and highlighting
What You'll See
Visual Names on Map
- Towns: Large names at the center of 3x3 town areas
- Villages: Names above single village tiles
- Forests: Names at the center of connected forest regions
- Lakes/Waters: Names at the center of water bodies
Interactive Features
- Hover tooltips: Move mouse over named areas to see tooltips
- Region highlighting: Primary (yellow) on hovered tile, secondary (light yellow) on connected tiles
- Toggle display: Press N key to show/hide all names
- Road naming removed: Roads no longer get names (as requested)
Controls
- WASD: Move camera around map
- Mouse Scroll: Zoom in/out
- Mouse Hover: Show tooltips and highlighting
- N Key: Toggle permanent name display on/off
Customization
In MapNameDisplay Component Inspector:
- Text Font: Assign a custom font (optional)
- Font Size: Adjust text size (default: 14)
- Text Color: Change text color (default: white)
- Text Outline Color: Change outline color (default: black)
- Text Height: How high above tiles the text appears
- Show Names On Start: Whether names show immediately when scene loads
- Toggle Display Key: Which key toggles names (default: N)
Debugging
- Set Debug Mode to true in both TileHoverHandler and MapNameDisplay
- Check console for name generation and display messages
Troubleshooting
No Names Visible
- Make sure MapSceneSetup script is on a GameObject in the scene
- Check that MapNameDisplay component was created (look in hierarchy)
- Try pressing N key to toggle names
- Check console for error messages
Names Don't Update After Map Regeneration
- Use the "Regenerate Map" context menu on MapSceneSetup component
- Or manually call nameDisplay.RefreshLabels() in code
Names Not Facing Camera
- Make sure camera is tagged as "MainCamera"
- Check that MapNameDisplay found the camera (debug messages)
Technical Notes
- Names are generated once when the map creates
- Text uses Unity's TextMesh component for 3D world-space rendering
- Reflection is used to access name data from TileHoverHandler
- Labels automatically face the camera and include black outlines for readability