Homemade Skin Guide

Welcome to the Manic EMU Skin Creation Guide! 🎮 The skin system of this emulator is built on the DeltaSkin framework, making it fully compatible with DeltaSkin’s base format. If you’d like to learn the fundamentals of DeltaSkin first, we recommend checking out the official tutorial.

But wait—Manic EMU offers even cooler features! ✨ Such as press animations, free scaling, screen flipping, and more. Let’s dive into how to use these exclusive features:


📁 info.json Configuration Guide

Game Type Identifier (gameTypeIdentifier)

Manic EMU uses independent game type identifiers (as of v1.2.3):

  • 3DS: public.aoshuang.game.3ds
  • NDS: public.aoshuang.game.ds
  • GBA: public.aoshuang.game.gba
  • GB/GBC: public.aoshuang.game.gbc
  • NES: public.aoshuang.game.nes
  • SNES: public.aoshuang.game.snes

💡 Pro Tip: To ensure compatibility with both Delta and Manic EMU, use DeltaSkin’s identifiers directly—the system will handle automatic conversion.

Skin Unique Identifier (identifier)

Assign a globally unique identifier to your skin! Duplicate names may cause loading failures or cache issues.


🎮 Implementing Press Animations

Want dynamic button feedback? Just two steps:

  1. Layer Separation: Split button backgrounds and foregrounds (see 3DS Skin Template)
  2. JSON Configuration: Add an asset field to the button in info.json

Example: Adding Press Effect to the A Button

1
2
3
4
5
6
7
8
9
10
11
12
13
{
"asset": {
"normal": "a_button.pdf"
// Reserve for future state expansions
},
"frame": {
"height": 48,
"width": 48,
"x": 545,
"y": 552
},
"inputs": ["a"]
}

⚙️ Custom Function Buttons

Manic EMU supports extensive shortcut actions (check version requirements):

Supported in v1.2.3 and above:

  • flex: Enter skin layout settings

Added in v1.2.4 and above:

  • quickSave: Quick manual save
  • quickLoad: Quick manual load
  • fastForward: Hold for maximum speed boost
  • toggleFastForward: Tap to cycle speed rates
  • reverseScreens: Swap primary/secondary screens
  • volume: Mute control
  • saveStates: Open save states list
  • cheatCodes: Open cheat codes list
  • skins: Open skins list
  • filters: Open filters list
  • screenshot: Take screenshot
  • haptics: Adjust vibration feedback
  • controllers: Open controllers list
  • orientation: Change rotation settings
  • functionLayout: Enter layout configuration
  • restart: Reset game
  • resolution: Set game resolution
  • quit: Exit game
  • amiibo:Load Amiibos for 3DS
  • homeMenu:Back to Home Menu of 3DS

Example: Adding a Restart Button

1
2
3
4
5
{
"asset": { "normal": "button.pdf" },
"frame": { ... },
"inputs": [ "restart" ]
}

⚠️ Critical Reminder
Avoid assigning multiple functions to a single button! For example:

1
2
3
4
// ❌ Dangerous Example!
{
"inputs": [ "restart", "quit" ]
}

📦 Skin Packaging Guide

Package your skin in three steps:

  1. Place all assets flat (no subfolders)
  2. Compress into a non-encrypted ZIP file
  3. Choose your preferred extension: .manicskin or .deltaskin

We recommend using our official templates to ensure proper structure.


🎨 Official Template Downloads

Click to download templates for specific consoles:


Start designing your unique skin now! 🎨 For questions, feel free to reach out via GitHub Issues.