In-editor pixel art for Godot 4.5+ — draw, animate, and export colour as runtime data. No alt-tab required.
Free and open source. MIT licensed.
| FORGE (full editor) | FORGE (panel) |
|---|---|
| Correspondence Engine | ANIM tab |
|---|---|
Pixel-Prof is a Godot EditorPlugin dock that keeps your entire pixel art workflow inside the engine. Draw sprites, build animations, and use the Correspondence Engine (CE) to turn palette colours into exported JSON data — live, as you paint.
No roundtrip to Aseprite. No import pipeline. Draw → animate → export data, all in one dock.
- Integer-only drawing engine (Bresenham line, flood fill, brush, erase)
PackedByteArraydirect manipulation — noset_pixel()calls, no float ops- Configurable canvas size (default 64×128px)
- 8 palette slots per session
- Multi-clip animation editor with per-frame timing
- Onion skin overlay for frame-to-frame accuracy
- Direct export to Godot's
SpriteFramesresource - AnimationPlayer-ready output
- Map any palette colour to a named stat or data field
- Paint your sprite — CE reads pixel coverage in real time
- Export as JSON:
{ "SPEED": 74, "MASS": 31, "POWER": 88 } - That JSON is your runtime data — feed it directly to physics, stats, or any system
- Set canvas dimensions, palette, and export paths per project
The Correspondence Engine is the reason this plugin exists.
Every colour in your palette maps to a value. As you paint, CE tracks pixel coverage and computes a weighted output for each mapped colour. When you export, you get a JSON file that reflects the visual composition of your sprite as structured data.
Example use case: Paint a character's armour heavier (more dark pixels) and their speed stat drops automatically. The art is the data. No manual stat entry. No separate balance sheet.
{
"MASS": 62,
"SPEED": 38,
"POWER": 71,
"SHIELD": 44
}This approach is used in AstraKey — a dark fantasy RPG built with a fully deterministic, colour-driven stat pipeline. Pixel-Prof is the public face of that system.
Via Godot Asset Library (recommended)
- Open your project in Godot 4.5+
- Go to AssetLib tab → search
Pixel-Prof - Download and install
Manual
- Download the latest release zip
- Extract
addons/pixel_prof/into your project'saddons/folder - Enable the plugin: Project → Project Settings → Plugins → Pixel-Prof → Enable
Once enabled, the Pixel-Prof dock appears at the bottom of the editor.
| Tab | What to do |
|---|---|
| FORGE | Select a tool, pick a colour, draw on the canvas |
| ANIM | Add clips, set frame timing, enable onion skin, export to SpriteFrames |
| CE | Map colours to stat names, paint, click Export JSON |
| CONFIG | Set canvas size, palette file path, export directory |
- Godot 4.5+
- No external dependencies
- No C# — pure GDScript 2.0
- Integer arithmetic only. No floats anywhere in the draw or CE pipeline.
- PackedByteArray ops throughout. Every pixel operation is a direct byte write.
- Deterministic. Same inputs always produce the same output. No RNG, no frame-dependent state.
These aren't limitations — they're what makes CE export values reproducible and trustworthy as game data.
- Import PNG → edit in FORGE
- CE: per-frame stat export (animation-aware)
- CE: multi-palette support
- Tilemap mode (8×8, 16×16 tile sheets)
- Export to Aseprite
.aseformat
Have a feature request? Open an issue.
PRs welcome. Please keep all contributions integer-only in the draw pipeline — float ops in
addons/pixel_prof/ will be rejected at review. See CONTRIBUTING.md.
MIT — see LICENSE.
Built by surfaceledger.ai as part of the AstraKey game pipeline.
The CE engine concept originated from a need to drive deterministic game physics directly from pixel art colour data, without a separate data-entry layer.
Copyright (c) 2026 2748684-ALBERTA-LTD. All rights reserved.