Art Studio (AI Art Generator)
The Art Studio is MCE's integrated AI-powered sprite generation tool. It lets you generate monster sprites, overworld characters, and tilesets using AI image generation providers -- directly from the Unity editor.
Available in Basic tier and above.
Overview
The Art Studio is accessed from the menu: MCE > Tools > Art Generator
It opens the ArtGeneratorWindow, a UI Toolkit-based editor panel with:
- Provider selection and configuration.
- Monster sprite generation (front, back, icon, shiny variants).
- Overworld follower spritesheet generation.
- Batch generation for multiple species at once.
- Preview and approval workflow before saving assets.
Supported Providers
MCE supports three AI image generation backends:
PixelLab
A specialized pixel art generation service designed for game sprites. Integrated via MCP (Model Context Protocol) for seamless editor workflows.
- Best for: Monster sprites, character sprites, tilesets, consistent pixel art style.
- Setup: Requires a PixelLab API key. Enter it in the Art Generator Settings.
- Quality: High -- produces game-ready pixel art with consistent style.
- Speed: ~5-15 seconds per sprite.
Nano Banana 2
An AI image generation model optimized for 2D game art and sprite generation.
- Best for: Character sprites, overworld art, stylized game assets.
- Setup: Requires an API key. Configure in Art Generator Settings.
- Quality: High -- well-suited for pixel art and stylized 2D assets.
- Speed: ~5-20 seconds per image.
OpenAI (ChatGPT)
Uses OpenAI's image generation API (DALL-E / ChatGPT image generation).
- Best for: Quick prototyping, concept art, style exploration.
- Setup: Requires an OpenAI API key.
- Quality: Good for concepts, may need touch-up for final game art.
- Speed: ~10-30 seconds per image.
Configuration
Open the Art Generator settings: MCE > Tools > Art Generator Settings
| Field | Description |
|---|---|
| Active Provider | Which AI backend to use |
| API Key | Authentication key for the selected provider |
| Endpoint URL | Server URL (for custom or self-hosted endpoints) |
| Output Path | Where generated sprites are saved |
| Default Size | Pixel dimensions for generated sprites |
| Style Prompt | Default style description appended to all prompts |
Generating Monster Sprites
Single Monster
- Open the Art Generator window.
- Select a
MonsterEntryfrom the database dropdown or drag it into the field. - Choose which sprites to generate:
- Front Sprite
- Back Sprite
- Icon
- Shiny Front
- Shiny Back
- Optionally modify the generation prompt (the monster's name, type, and description are auto-filled).
- Click Generate.
- Preview the results in the window.
- Click Accept to save the sprites and assign them to the
MonsterEntry, or Regenerate to try again.
Batch Generation
- Click the Batch tab in the Art Generator.
- Select a range of monsters by dex number (e.g., 1-151).
- Choose which sprite types to generate.
- Click Start Batch.
- The generator will process each monster sequentially, saving results automatically.
- A progress bar shows the current status.
- Failed generations are logged and can be retried.
Batch generation is idempotent. If it is interrupted (network timeout, editor crash), simply re-run the batch. It will skip monsters that already have sprites and only generate missing ones.
Generating Overworld Followers
Follower sprites are 4-direction walk cycle spritesheets used when a monster follows the player in the overworld.
- In the Art Generator, switch to the Followers tab.
- Select a monster or range of monsters.
- The generator creates a spritesheet with walk frames for all four directions.
- After generation, the spritesheet is automatically sliced and assigned to the monster's follower data.
Generating Tilesets
The Art Generator can also create tileset art for map building:
- Switch to the Tilesets tab.
- Describe the environment (e.g., "forest path with tall grass and trees").
- Configure tile size and tileset dimensions.
- Generate and preview.
- Import the tileset into your Tile Palette.
The MonsterArtRequest
Under the hood, sprite generation uses a MonsterArtRequest object:
public class MonsterArtRequest
{
public MonsterEntry Monster; // The species to generate art for
public string Prompt; // Custom text prompt
public SpriteType Type; // Front, Back, Icon, Follower, etc.
public bool IsShiny; // Generate shiny variant
public int Width; // Pixel width
public int Height; // Pixel height
}
The request is sent to the active IArtGenerationProvider implementation, which handles the provider-specific API call.
Provider Interface
All providers implement IArtGenerationProvider:
public interface IArtGenerationProvider
{
string ProviderName { get; }
Task<Texture2D> GenerateAsync(MonsterArtRequest request);
bool IsConfigured { get; }
}
Adding a Custom Provider (Source Tier)
- Create a class implementing
IArtGenerationProvider. - Register it in the
ArtGeneratorSettings. - It will appear in the provider dropdown.
Output Management
Generated sprites are saved to the configured output path with a consistent naming scheme:
{OutputPath}/
{DexNumber}_{MonsterName}/
front.png
back.png
icon.png
front_shiny.png
back_shiny.png
follower_sheet.png
All sprites are imported with pixel art settings (Point filter, no compression) automatically.
Best Practices
- Start with a small batch to verify the style matches your game.
- Use consistent style prompts. The default style prompt is applied to all generations to maintain visual coherence.
- Review before accepting. AI generation can produce inconsistent results. Always preview.
- Keep originals. Generated sprites can be touched up manually in a pixel art editor.
- Budget API costs. PixelLab and OpenAI charge per generation. A 151-monster batch can be significant.
- Re-run failed batches. Network timeouts are common with large batches. The idempotent design means retries are safe.
Troubleshooting
| Issue | Solution |
|---|---|
| "Provider not configured" | Enter your API key in the Art Generator Settings |
| Timeout errors | Increase timeout in settings, or reduce batch size |
| Low quality output | Adjust the style prompt, try a different provider |
| Sprites look blurry in-game | Check import settings: Filter Mode must be Point (no filter) |
| Batch stuck | Check the Console for errors. The batch can be safely restarted |