How to Mod Age of Empires II DE with Universal Modder
To mod Age of Empires II: Definitive Edition with AI, first decide whether your idea belongs in a scenario, a data mod, or an asset replacement. For a first project, a tiny scenario with stock units and one timed instruction is enough to test the full edit-and-play loop. A civilization with original animated units is a much larger project.
Universal Modder plans the change, inspects source tools and keeps a test record. Set up your preferred agent through the installation guide before giving it access to a working copy of your project.
Can Universal Modder mod Age of Empires II DE?
Yes. The San Franciscans civilization is a working Genie-engine data mod with custom graphics, built on a Windows Steam release from September 2026. Python tools read the installed game's data and build a local mod, and the civilization plays in game.
Record your exact game build and recheck the data-format assumptions before reusing the scripts. On Linux/Proton, check the user-profile path by hand; the scripts' profile discovery there is unconfirmed.
Test in single player. Ranked and multiplayer play bring their own lobby rules and content requirements, so keep them out of the first project.
Choose the smallest route
| Your idea | First route to investigate |
|---|---|
| A mission objective, timed event or custom map | Built-in Scenario Editor and triggers |
| A persistent balance rule for a custom skirmish | A local data mod built from the relevant game data |
| Different art for an existing object | A graphics replacement with matching format and paths |
| An original civilization with new units | Data, strings, graphics and controlled scenario checks together |
The game ships a built-in Scenario Editor (official scenario introduction). The mod installation documentation explains how shared content is found through the Mods interface. Creating a small local scenario does not require installing a third-party loader.
If an editor-based first project appeals to you, compare a timed scenario with Portal 2's one-room puzzle. For editing an existing resource rather than a map, Baldur's Gate 3 uses its official Toolkit. The game guides distinguish these routes from projects that begin by installing a community loader.
What you need
For the scenario exercise, use your own PC copy of AoE2 DE, its Scenario Editor, a new named scenario and a separate backup of that file. Record the game build, selected data set, player setup and test conditions. Use stock units and art initially.
For the data-mod route, additional requirements apply:
- Python 3.11 or later and the example's dependencies, including
genieutils-pyandAoE2ScenarioParser. - The actual game directory and intended user-profile directory, especially with several Steam libraries or profiles.
- Blender 5.x if you render the example's custom 3D units into sprites.
- Original or appropriately licensed assets if you replace its artwork.
These apply to the San Franciscans source example, not to every scenario. See the CLI reference when you need asset conversion and rendering tools.
Step-by-step
1. Establish a small playable scenario
Open the game's Scenario Editor and create a uniquely named test scenario. Place a few stock units for the player, keep the map simple, and save a separate baseline copy. Test that baseline in the game before asking the agent to change it.
Your first success condition is deliberately narrow: a short instruction should appear once after ten seconds. Keep victory conditions and the map otherwise unchanged, and make sure the baseline remains playable long enough to observe the result.
2. Ask the agent to inspect the route
Give the agent the game build, scenario location and intended outcome:
Use Universal Modder to help with one AoE2 DE single-player scenario.
My goal is one instruction message after ten seconds, using stock units.
Explain the built-in editor trigger settings before writing any files.
If using a scenario parser, verify its support for my saved scenario version.
Preserve my baseline and write any generated output to a different filename.You can select the code to copy it manually.
The plan should keep the scope inside the scenario. If it proposes changing the installed game's main data file or adding a custom civilization, ask it to return to the single trigger. The general tutorial explains how to preserve a small baseline and compare each change.
3. Add one trigger
Use an enabled, non-looping trigger with a Timer condition and a Display Instructions effect. Set the timer to ten seconds and choose the message text, recipient and display duration explicitly. Check the labels against your editor version.
AoE2ScenarioParser's condition reference and effect reference list these building blocks. If the agent writes a Python helper, it should use those documented fields and preserve the original file. A generated scenario still needs the same game check as one edited by hand.
4. Verify the timing and scope
Save under a new revision name and play the scenario. Observe whether the intended player sees the message after the expected interval and whether it appears only once. Run it again from a fresh start to distinguish a reproducible trigger from a saved-game state.
Record the build, scenario revision and observed result. If the message is absent, inspect the trigger's enabled state, condition, recipient and display settings before changing unrelated rules. If it repeats, inspect the looping setting and any trigger that activates it again.
5. Expand one step at a time
After the message works, add one objective or unit interaction and give it a separate success check. Keep the baseline copy so you can remove the new trigger and compare behavior.
If the eventual goal is a balance change across custom skirmishes, create a separate data-mod project. Build the mod first, then install it, inspect the target profile, and select the resulting Data Mod in the skirmish lobby. Merely placing its files in a local-mod folder does not activate that data for a match.
Example prompts for Age of Empires II DE
These are suggested prompts for your own project:
Review my single-player scenario's trigger list.
Explain which triggers can activate the welcome message more than once.
Propose the smallest fix, then list two repeatable checks from a fresh start.You can select the code to copy it manually.
Plan a separate data mod changing one existing unit statistic.
Read my installed game data and preserve the original files.
Reuse stock art, list the exact changed records, and design a comparison scenario.
Do not add a civilization or generate new graphics for this first test.You can select the code to copy it manually.
The prompt collection includes larger unit and civilization ideas. Keep those as later milestones after your first scenario or data comparison works.
Mods people built for Age of Empires II DE
San Franciscans replaces the Burgundians civilization slot with original units, technologies and a wonder. Its pipeline renders 3D units into the game's sprite format and ties those graphics to changed data records. It shows a possible next stage after a small data mod, not a prerequisite for the scenario exercise.
Two lessons from that build are worth carrying forward: adding civilization records did not create a new picker entry, and a pre-placed Castle did not trigger the expected training-unlock event. Test the actual selection and training path, not just the data output.
Known issues and fixes
| Symptom | First check |
|---|---|
| A scenario message is missing | Confirm the tested scenario revision, enabled trigger, timer and intended recipient |
| A message appears repeatedly | Check looping and any other trigger that reactivates it |
| A data mod seems to do nothing | Select it in the skirmish lobby's Data Mod dropdown |
| Changes appear under another profile | Compare the installer target with the profile the game actually loads |
| A new civilization never appears | Data-only records do not extend the picker; replace an existing slot instead |
| A custom unit cannot be trained | Check its availability conditions in real progression, not only beside a pre-placed building |
| A new game update breaks a build | Recheck the original data format, dependencies and changed records against that game build |
For local experiments, close the game before removing only your own scenario or mod output. Preserve unrelated mods and profile settings; keep the source and baseline. If the failure happens before game editing begins, use agent and CLI troubleshooting. Consult the sharing FAQ before distributing generated packages or game-derived files.
Frequently asked questions
Do I need a third-party loader to make an AoE2 DE scenario?
No. The game has a Scenario Editor and mod system. Start with those built-in routes. Python data and scenario tools are optional for more involved source projects.
Can a data mod add a new selectable civilization without replacing one?
Not through the data-only route. Extra data records do not add an entry to the civilization picker, so the San Franciscans example replaces the Burgundians slot.
Do I need Blender and paid image generation for my first mod?
No. A scenario using stock units and one trigger can be built without them. The custom-unit example uses Blender for new sprite rendering; generating new assets through fal is an optional separate step.