The one canonical avatar and sprite-animation authoring surface.

Avatar & Sprite Editor

ED5 has one canonical avatar model, backed by shared sprite assets, and it's reused everywhere a character appears — playable characters, mobs, and NPCs. Build a sprite once and it works across the whole game; there's no parallel per-entity system to keep in sync.

> What this editor actually is. The Avatar & Sprite Editor is a tool for taking a sprite sheet and telling the engine how to read it — which rows and frames make up "walk," how many directions it has, how fast it plays, and so on. Its list of "animations" (idle, walk, attack…) is sometimes called "layers," but these are animation slots, not body/face/hair paperdoll layers. (Equipment appearance is composited at runtime from each equipped item's own sprite — you don't stack body parts here.)

Where you'll find it

The same editor is embedded wherever a character needs a look:

WhereContext
CharactersThe "Avatar" tab on a character template
MobsA mob's appearance/avatar section
NPCsNPC appearance
Pets & MountsTheir Visuals / Animations tabs
Items → VisualsWeapon/armor equipped sprites — browse the gallery, or create/edit the sprite asset right from the item
Items → ChestChest items get an animated sprite (opened/closed states)
EventsAn event actor's sprite
Asset Manager → AnimationsThe standalone place to author reusable sprite assets

Improvements to the pipeline (new animation types, better import) benefit every entity at once.

The two panels

The editor has a Sprite Sheet panel (the source art) and an Animations panel (how to read it), a live preview, plus Scale and Recolor.

1. Set the sprite sheet

  • Main Sprite Sheet — pick a sheet from the media library (or upload/generate one on the spot). Every animation reads from this sheet unless you override it.
  • Save to Sprites / Load saved sprite — save your configured sheet as a reusable sprite asset (stored in the shared library), or load one you saved earlier. Saving uploads the sheet to storage first, so big sheets don't hit upload limits.
  • Per-animation override — any single animation can use a separate sheet instead of the main one.
When you load a sheet the editor auto-detects the grid (it tries common frame sizes and picks the one that divides the image evenly), so you often don't have to enter frame dimensions by hand.

2. Import a sheet and map its animations

The Import Sheet button opens a mapper that understands three common sheet formats:

ModeForKey options
50×50 SheetPVGames / RPG-Tools universal sheetsSheet type (auto / character / creature); an animation checklist (with All / None) covering ~70 named slots — Walk, Run, Idle, Interact, Cast, weapon-stance attacks (1-H, 2-H, dual-wield, bow, unarmed, polearm, pistol, rifle), death poses, and more. Frame size is derived from the sheet automatically.
RPG MakerRPG Maker character sheetsLayout (single 3×4 or full 12×8) and, for the full sheet, a Character Index grid. Generates idle + walk in the four cardinal directions.
Legacy PVGFolders of per-animation stripsA folder picker; optionally composite a combined mastersheet (character or monster).

Each animation in the checklist shows its frame range, per-facing frame count, and badges like offset or requires editing so you know which ones may need a tweak after import. Import cuts each selected animation into an optimized per-animation sheet automatically.

3. Fine-tune each animation

Add slots with + Add Animation (categorized: Movement, Combat, Weapon Attacks, Actions, Social, Mounted, Chest) and remove them with the ✕. Select one to open its detail editor:

ControlWhat it does
Frame size (Cell Width / Height)The size of one frame; changing it recomputes the grid
Frame Layout ModeRow/Col grid, or a linear strip of frames
Frame CountFrames per direction (or per row)
DirectionsHow many direction rows the sheet has
Start Row / Start Column (or Start Frame #)Where this animation begins in the sheet
Frame Duration (ms)Time per frame; the editor shows the resulting FPS and warns if it's jittery
Playback Speed ×A multiplier on top of the frame duration
LoopingLoop, or play once
Breathing EffectA subtle idle "breathing" scale for static sprites, with an intensity slider

Two power tools handle awkward sheets:

  • Direction Mapping — when a sheet's direction rows aren't in the engine's default order (common with imported "riding" blocks), point each of the eight facings (N, NE, E, …) at the correct row. Live thumbnails show what each facing will render.
  • Cell Selection — click cells on the sheet in playback order to define an animation frame-by-frame when the grid isn't uniform.
Tip: enable "Same grid for all animations" when every animation shares one frame size — it propagates the grid so you configure it once.

4. Scale and recolor

  • In-World Scale — a size multiplier for how big the sprite renders in game (slider + number field).
  • Recolor (when the sprite-recolor feature is enabled) — a non-destructive recipe baked into the sheet at decode time; your source art is never modified and Reset restores it instantly. Choose a preset (Red/Blue/Green Team, Gold Trim, Frost, Shadow, Undead) or dial Hue, Saturation, and Lightness. Presets may add advanced palette operations; those are preserved and shown as a badge even though the sliders only edit the basic hue/sat/light shift.

5. Preview

The preview canvas plays the selected animation. Controls: pick an animation, Play/Pause, speed (0.5× / 1× / 2× / 4×), and step through direction rows to check every facing. A frame-strip grid shows the raw frames the editor is reading.

Automating recolors with AI

The avatar-recolor-set AI action recolors a whole family at once (mobs, character templates, pets, mounts) using a preset or an explicit hue/saturation/lightness recipe — handy for turning one mob into team-colored variants.

> Current limitations to know: animations can't be drag-reordered (they stay in the order added), there's no manual anchor/offset field (anchoring is automatic), and the cell-picker / frame-strip are disabled for very large "packed" sheets to keep the editor responsive.