Naquada animation pack — Scarlet Duelist

Unity 6 — 1. Merge this ZIP’s Assets folder at the root of your Unity project. Keep one copy of Assets/Naquada/Editor/NaquadaAnimationImporter.cs, shared by all packs. 2. Wait for compilation: the importer reads scarlet_Scarlet-Duelist.animations.json through scarlet_Scarlet-Duelist.naquadaanim, loads each spritesheet once, converts the manifest’s top-left coordinates to Unity’s bottom-left coordinates, and slices sprites automatically. It creates clips, an Animator controller and a prefab. 3. Expand scarlet_Scarlet-Duelist.naquadaanim in the Project window to find the sprites and clips; drag the prefab into a scene. The first animation plays by default; use Animator.Play(animationName) for another one. No manual slicing is needed. Sprites on the same sheet share one texture with Point filtering and no mipmaps. Pixels Per Unit defaults to 100 and can be changed on the importer. Names, loops and timing come from the manifest; edit scarlet_Scarlet-Duelist.animations.json and reimport to change them. Keep the full folder structure.

scarlet_Scarlet-Duelist.animations.json is the machine-readable manifest (schemaVersion: 2). Each animation uses its source layer name. In layers mode, each PNG contains one horizontal animation row, named after the layer and chosen prefix. In combined mode, each layer occupies one row of the same spritesheet, from top to bottom. Read frames left to right and in frames array order. rect specifies x, y, width and height in pixels with a top-left origin. row starts at 0; sourceFrame starts at 1. durationMs is in milliseconds and loop specifies looping. Paths are relative to the manifest. Transparent cells after the last frame of a shorter row are not animation frames; internal pauses are preserved. Leading and trailing empty cells are trimmed. spritesheets records each PNG size; frameWidth/frameHeight describe a cell, padding records retro padding, and pivot is centered. The prefix applies to pack filenames; animation names remain the layer names. The following list maps each animation to its crop rectangles.

"Attack"
  scarlet_Scarlet-Duelist.png [x=0, y=0, width=128, height=128] (125 ms)
  scarlet_Scarlet-Duelist.png [x=128, y=0, width=128, height=128] (125 ms)
  scarlet_Scarlet-Duelist.png [x=256, y=0, width=128, height=128] (125 ms)
  scarlet_Scarlet-Duelist.png [x=384, y=0, width=128, height=128] (125 ms)
  scarlet_Scarlet-Duelist.png [x=512, y=0, width=128, height=128] (125 ms)
  scarlet_Scarlet-Duelist.png [x=640, y=0, width=128, height=128] (125 ms)
  scarlet_Scarlet-Duelist.png [x=768, y=0, width=128, height=128] (125 ms)
  scarlet_Scarlet-Duelist.png [x=896, y=0, width=128, height=128] (125 ms)
  scarlet_Scarlet-Duelist.png [x=1024, y=0, width=128, height=128] (125 ms)

"Idle"
  scarlet_Scarlet-Duelist.png [x=0, y=128, width=128, height=128] (125 ms)
  scarlet_Scarlet-Duelist.png [x=128, y=128, width=128, height=128] (125 ms)
  scarlet_Scarlet-Duelist.png [x=256, y=128, width=128, height=128] (125 ms)
  scarlet_Scarlet-Duelist.png [x=384, y=128, width=128, height=128] (125 ms)
  scarlet_Scarlet-Duelist.png [x=512, y=128, width=128, height=128] (125 ms)
  scarlet_Scarlet-Duelist.png [x=640, y=128, width=128, height=128] (125 ms)
  scarlet_Scarlet-Duelist.png [x=768, y=128, width=128, height=128] (125 ms)
  scarlet_Scarlet-Duelist.png [x=896, y=128, width=128, height=128] (125 ms)
  scarlet_Scarlet-Duelist.png [x=1024, y=128, width=128, height=128] (125 ms)

"Run"
  scarlet_Scarlet-Duelist.png [x=0, y=256, width=128, height=128] (125 ms)
  scarlet_Scarlet-Duelist.png [x=128, y=256, width=128, height=128] (125 ms)
  scarlet_Scarlet-Duelist.png [x=256, y=256, width=128, height=128] (125 ms)
  scarlet_Scarlet-Duelist.png [x=384, y=256, width=128, height=128] (125 ms)
  scarlet_Scarlet-Duelist.png [x=512, y=256, width=128, height=128] (125 ms)
  scarlet_Scarlet-Duelist.png [x=640, y=256, width=128, height=128] (125 ms)
  scarlet_Scarlet-Duelist.png [x=768, y=256, width=128, height=128] (125 ms)
  scarlet_Scarlet-Duelist.png [x=896, y=256, width=128, height=128] (125 ms)
  scarlet_Scarlet-Duelist.png [x=1024, y=256, width=128, height=128] (125 ms)
