Give a map its minimap¶
Level designer · 30 min · No code
Result: your map's minimap shows its own XC1-style image under the party, lined up with the world, and the L3 overlay shows the same image large.
Before you start¶
- A map that runs the XenoCore experience. See Build a world-partition map.
- Read Minimap for what the minimap shows and where its settings live.
- An image of your map, top-down, painted in any paint program (step 3 shows how to start from a screenshot of the map).
How the image lines up¶
An Area Definition holds two things that must agree: the Map Texture and the rectangle of the world it covers, Map World Min (the image's top-left corner) and Map World Max (its bottom-right corner), in world centimetres.
The image is read with +X to the right and +Y downwards, so north (up on the map) is −Y. The sample maps are built that way, and your image must be drawn in that orientation. Do not assume the editor's Top viewport shows the world the same way round; check a known landmark against the world X and Y it sits at.
Steps¶
1. Create the Area Definition¶
- In the Content Browser, go to
Maps/Areas. - Right-click
DA_XenoCore_Area_GaurPlainand choose Duplicate. Name itDA_XenoCore_Area_<YourArea>. - Open it and set Display Name: it shows under the minimap and as the L3 view's header. Clear Map Texture for now.
- The copy keeps Gaur Plain's Weather Table (its rain and storm odds). Clear it for an area that is always clear, or point it at your own; see Set an area's weather.
- Save.
2. Place the XenoCore Map Area¶
- In Place Actors, search for XenoCore Map Area and drag it into your map. Its position does not matter.
- In the Details panel, set Area to your new asset.
An orange box appears: the rectangle the image will cover. Right now it is Gaur Plain's.
Only one per map
The minimap uses the first XenoCore Map Area it finds. A second one is ignored, and which one counts is not guaranteed.
3. Make the image and set its bounds¶
- Paint the map image, square is easiest, with north at the top. XC1's look, which Gaur Plain's
Maps/Areas/T_XenoCore_Map_GaurPlainfollows, is a flat plan: tan ground, darker raised ground, dark rock walls, blue water, outlines between levels. To start from the real layout, set a viewport to Top, frame the whole Landscape edge to edge, and take a High Resolution Screenshot (viewport menu). Paint over it. - Drag the image file into
Maps/Areas(or your own folder) in the Content Browser. - Open the texture. Set Level Of Detail › Texture Group to
UI, and X-axis Tiling Method and Y-axis Tiling Method toClamp. Save. - Open your Area Definition and set Map › Map Texture to it.
- Set the bounds:
- If the image covers exactly your Landscape: select the XenoCore Map Area in the level and click Map › Fit Bounds To Landscape in its Details panel. Then save the Area Definition: the button changes it but does not save it. On a World Partition map it measures only the Landscape pieces that are loaded in the editor, so load the whole map first (World Partition window: drag a box over the whole map, right-click, Load Region From Selection), or the box comes out too small.
- Otherwise type Map › Map World Min and Map World Max in the Area Definition yourself, then look down on the map in the viewport: the orange box shows the rectangle you typed.
The sample's image was baked by an internal tool
T_XenoCore_Map_GaurPlain was made by a capture-and-paint tool that is not part of the plugin.
There is no editor button that bakes a map image; a buyer paints one, as above. A programmer can
write a capture with a Scene Capture 2D set to Orthographic, pointed straight down over the
Landscape.
4. Check it in the editor¶
- Select the XenoCore Map Area. The orange box should cover the same ground as the image. If you changed the asset, nudge the actor (or reselect it) to redraw the box.
- Run Build › Map Check. A Map Area with no Area, or an Area with no image, is listed there.
- Right-click the Area Definition and choose Asset Actions › Validate Assets. Bounds that run backwards are an error.
Test it¶
- Open your map and press Play.
- Look at the minimap: the ground under the arrow should match where you are standing. Walk to a recognisable feature, such as a lake or a cliff edge, and check it sits under the arrow.
- Turn the camera. The pale wedge should follow it.
- Press L3 (keyboard M). The large overlay should show the same image, lined up. Press again to close it.
- Type
XenoCore.Minimap.Rotate 1in the console and turn the camera. The map should turn so the wedge always points up.
If it doesn't work¶
| What you see | Cause | Fix |
|---|---|---|
| A plain dark circle with markers, no map | No XenoCore Map Area in the map, its Area is empty, or the Area has no Map Texture | Steps 2 and 3. Map Check names which |
| The map scrolls the wrong way, or is mirrored | The image is drawn with north at another edge | Redraw it with north up (−Y) |
| Features drift away from the arrow as you walk | The bounds do not match the image | Click Fit Bounds To Landscape again (and save the Area), or fix Map World Min/Max |
| The image is blurry | World Radius shows too much area for the image's resolution | Paint the image larger, or lower Minimap › World Radius on the Minimap widget in W_XenoCore_HUDLayout |