Creating Monsters
This guide covers everything you need to know about creating and configuring monster species in MCE. We cover the MonsterEntry ScriptableObject in depth, including forms, variants, and advanced configuration.
MonsterEntry Overview
Every monster species in MCE is defined by a MonsterEntry ScriptableObject. This is the authoritative data definition for a species -- it contains the base stats, types, abilities, learnable moves, evolution paths, and visual assets.
A MonsterEntry represents the species (e.g., "Flameleon"), while a MonsterInstance represents a specific individual (e.g., "the player's level 25 Flameleon with these specific IVs, EVs, nature, and moves").
Creating a MonsterEntry
Using the Wizard (Recommended)
The fastest way to create a monster is the wizard: MCE > Tools > Monster Creator.
See the First Monster guide for a step-by-step walkthrough of the wizard.
Manual Creation
- Right-click in your Project window:
Create > OpenMon > Monster Entry. - Name the asset after your species (e.g.,
Flameleon). - Select it and configure all fields in the Inspector.
MonsterEntry Fields Explained
Identity
| Field | Type | Description |
|---|---|---|
MonsterName | string | Display name of the species |
DexNumber | uint | Unique national dex number |
Category | string | Species category (e.g., "Fire Lizard") |
DexDescription | string | MonsterDex flavor text |
CatchRate | int | Base catch rate (0-255). Lower = harder to catch |
BaseExpYield | int | Experience points given when defeated |
GrowthRate | GrowthRate | XP curve: Fast, MediumFast, MediumSlow, Slow, Erratic, Fluctuating |
Types
| Field | Type | Description |
|---|---|---|
Type1 | MonsterType | Primary type (required) |
Type2 | MonsterType | Secondary type (set to None for single-type) |
Base Stats
The six base stats determine the species' raw capabilities. Individual monsters add IVs (Individual Values, 0-31) and EVs (Effort Values, 0-252) on top of these at runtime.
| Field | Type | Description |
|---|---|---|
BaseHP | int | Base hit points |
BaseAttack | int | Base physical attack |
BaseDefense | int | Base physical defense |
BaseSpAttack | int | Base special attack |
BaseSpDefense | int | Base special defense |
BaseSpeed | int | Base speed (determines turn order) |
EV Yields
When this species is defeated, which EVs does the victor gain?
| Field | Type | Description |
|---|---|---|
EVYieldHP | int | HP EVs awarded (typically 0-3) |
EVYieldAttack | int | Attack EVs awarded |
| ... | ... | One field per stat |
Abilities
| Field | Type | Description |
|---|---|---|
Ability1 | Ability | Primary ability |
Ability2 | Ability | Secondary ability (can be None) |
HiddenAbility | Ability | Hidden ability (can be None) |
Gender and Breeding
| Field | Type | Description |
|---|---|---|
GenderRatio | float | Percentage chance of being male (0 = always female, 1 = always male, -1 = genderless) |
EggGroups | EggGroup[] | Breeding compatibility groups |
EggCycles | int | Steps to hatch (multiply by a base step count) |
DataByFormEntry Structure
MCE supports multiple forms per species (e.g., Alolan forms, Mega forms, seasonal variants). Each form can override any or all of the base species data.
The DataByFormEntry array on MonsterEntry defines form-specific overrides:
[Serializable]
public class DataByFormEntry
{
public Form Form; // The form identifier
public MonsterType Type1; // Override type 1
public MonsterType Type2; // Override type 2
public int BaseHP; // Override base HP
// ... all stats can be overridden
public Ability Ability1; // Override abilities
public Sprite FrontSprite; // Override sprites
public Sprite BackSprite;
}
Setting Up Forms
- Create a
FormScriptableObject:Create > OpenMon > Form. - Name it descriptively (e.g.,
MegaFlameleon,AlolanDiglett). - Add a
DataByFormEntryto yourMonsterEntryand assign the form. - Override only the fields that change -- leave others at default to inherit from the base species.
Index 0 in the DataByFormEntry array is the base form. All monsters start in this form unless specified otherwise. Additional entries are alternate forms.
Forms and Variants
MCE supports several common form patterns:
| Pattern | Implementation |
|---|---|
| Mega Evolution | A DataByFormEntry with boosted stats and a special sprite. Triggered in battle via the MegaModule. |
| Regional Variants | A DataByFormEntry with different types, stats, and sprites. Encounters specify which form appears by region. |
| Seasonal Forms | Multiple DataByFormEntry entries. The active form is determined by the in-game calendar. |
| Gender Differences | Two entries for the base form. Selected automatically based on the MonsterInstance's gender. |
| Battle-Only Forms | Forms that only exist during battle (e.g., Gigantamax). The form reverts after battle ends. |
Evolution Chains
Each MonsterEntry has an Evolutions array of EvolutionData entries:
[Serializable]
public class EvolutionData
{
public MonsterEntry TargetSpecies; // What it evolves into
public Form TargetForm; // Specific form (optional)
// Evolution type is determined by the concrete class
}
Evolution types are implemented as polymorphic ScriptableObjects. You assign the appropriate evolution type (e.g., EvolveByLevel) and configure its parameters (e.g., required level = 16).
See the Evolution Guide for all 30+ supported types.
Sprites and Materials
Each monster needs visual assets. MCE uses standard Unity Sprite references:
| Asset | Purpose | Notes |
|---|---|---|
| Front Sprite | Battle (opponent view) | Pixel art, point-filtered |
| Back Sprite | Battle (player view) | Pixel art, point-filtered |
| Icon Sprite | Menus, PC, party | Small icon, typically 32x32 |
| Overworld Sprite | Follower system | 4-direction spritesheet |
| Shiny Variants | All of the above | Recolored versions |
Import Settings for Pixel Art
For all monster sprites, use these import settings:
- Texture Type: Sprite (2D and UI)
- Sprite Mode: Single (or Multiple if using a spritesheet)
- Pixels Per Unit: Match your game's tile size (typically 16 or 32)
- Filter Mode: Point (no filter)
- Compression: None
- Max Size: Keep at actual resolution
Using any filter mode other than Point will cause pixel art to appear blurry. This is the most common visual issue when setting up monster sprites.
Testing Your Monster
After creating a MonsterEntry:
- Database Browser -- Open
MCE > Tools > Database Browserand search for your monster by name or dex number. - Asset Validation -- Run
MCE > Tools > Asset Validationto check for missing references. - In-Game Dex -- Start the game and check the MonsterDex to see your monster's entry.
- Wild Encounter -- Add the monster to a
WildEncountersSetand encounter it in the field.
Batch Creation
For creating many monsters at once, you have several options:
- Essentials Importer (Basic tier+) -- Import species directly from RPG Maker Essentials PBS data.
- Art Studio (Basic tier+) -- Generate sprites for multiple species in batch mode.
- Scripted Creation (Source tier) -- Write editor scripts that create
MonsterEntrySOs programmatically.
Best Practices
- Use the wizard for individual monsters. It validates your input and catches common mistakes.
- Keep dex numbers unique. Duplicates will cause lookup failures.
- Set reasonable stat ranges. Use the BST guidelines from First Monster.
- Always assign sprites. Missing sprites will show as pink/magenta in battle and menus.
- Test evolution chains end-to-end. Make sure every species in the chain exists in the database.
- Use forms sparingly. Each form adds memory overhead for sprite assets.