Skip to main content

Demo Asset Layout

Guide

Demo content is organized by owning object, not by asset kind: card art stays with the card, and an enemy prefab stays with the enemy

Root foldersโ€‹

๐Ÿ“ฆ Demo/Content/ # All shipped presentation assets, grouped by owner
โ”œโ”€โ”€ ๐ŸŽจ Art/ # Cross-object shared assets only
โ”œโ”€โ”€ ๐Ÿƒ Cards/ # Card-family frames, prefabs, and per-card artwork
โ”œโ”€โ”€ ๐Ÿ—‚๏ธ Decks/ # Starting/reward deck cover icons for each class
โ”œโ”€โ”€ ๐ŸŒ„ Encounters/ # Class backgrounds, parallax layers, and encounter UI
โ”œโ”€โ”€ ๐ŸŽฏ Intents/ # Enemy-intent icons and the widgets that display them
โ”œโ”€โ”€ โœจ Statuses/ # Status icons, status widgets, and status-owned VFX
โ””โ”€โ”€ ๐Ÿง™ Units/ # Player/enemy artwork, prefabs, and shared unit widgets

Cardsโ€‹

๐Ÿƒ Content/Cards/ # Five card families plus their one shared glow sprite
โ”œโ”€โ”€ โš”๏ธ Basic/ # Basic-family frame, prefab, and card artwork
โ”‚ โ”œโ”€โ”€ ๐Ÿ–ผ๏ธ Artwork/ # Art for Basic cards such as Strike and Defend
โ”‚ โ”œโ”€โ”€ ๐ŸŽจ Basic.png # Basic card-frame sprite
โ”‚ โ””โ”€โ”€ ๐Ÿงฉ Basic.prefab # Basic card-view prefab
โ”œโ”€โ”€ ๐Ÿ’ฅ Burst/ # Burst-family frame, prefab, and artwork
โ”œโ”€โ”€ ๐Ÿ•ฏ๏ธ Curse/ # Curse-family frame, prefab, and artwork
โ”œโ”€โ”€ ๐Ÿ› ๏ธ Skill/ # Skill-family frame, prefab, and artwork
โ”œโ”€โ”€ ๐Ÿค Support/ # Support-family frame, prefab, and artwork
โ””โ”€โ”€ โœจ CardGlow.png # Glow sprite shared by every card family

The five folders are the card template families; each one owns its frame sprite, its card prefab, and an Artwork/ folder holding the art of every card rendered with that frame. CardGlow.png sits at the Cards/ root because every card shares it

If a single card later gets bespoke VFX, audio, or animation, those assets go under the card family that uses them, in a VFX/, Audio/, or Animation/ subfolder; A kind-based bucket such as Content/VFX/Cards/ would separate the assets from their owner and should be avoided

Unitsโ€‹

๐Ÿง™ Content/Units/ # Unit-owned art/prefabs plus unit-wide shared assets
โ”œโ”€โ”€ ๐Ÿ‘น Enemy/ # Enemy folders grouped first by class, then by unit
โ”‚ โ”œโ”€โ”€ ๐Ÿน Enemy_Hunter/ # Hunter enemy roster
โ”‚ โ”‚ โ”œโ”€โ”€ ๐Ÿ Enemy_PlagueStalker_Normal/ # Normal enemy artwork and prefab
โ”‚ โ”‚ โ”œโ”€โ”€ ๐Ÿ„ Enemy_SporeBrute_Elite/ # Elite enemy artwork and prefab
โ”‚ โ”‚ โ”œโ”€โ”€ ๐Ÿ’€ Enemy_MireReaper_Boss/ # Boss artwork and prefab
โ”‚ โ”‚ โ””โ”€โ”€ ๐ŸŒฑ Enemy_BogPolyp_Summon/ # Summoned-unit artwork and prefab
โ”‚ โ”œโ”€โ”€ ๐Ÿช„ Enemy_Mage/ # Mage enemies, each in its own tier-suffixed folder
โ”‚ โ”œโ”€โ”€ โœจ Enemy_Priest/ # Priest enemies, each in its own tier-suffixed folder
โ”‚ โ””โ”€โ”€ โš”๏ธ Enemy_Warrior/ # Warrior enemies, each in its own tier-suffixed folder
โ”œโ”€โ”€ ๐Ÿฆธ Player/ # Player-unit assets grouped by class
โ”‚ โ”œโ”€โ”€ ๐Ÿน Hunter/ # Avatar, full-body art, and player prefab
โ”‚ โ”œโ”€โ”€ ๐Ÿช„ Mage/ # Avatar, full-body art, and player prefab
โ”‚ โ”œโ”€โ”€ โœจ Priest/ # Avatar, full-body art, and player prefab
โ”‚ โ”œโ”€โ”€ โš”๏ธ Warrior/ # Avatar, full-body art, and player prefab
โ”‚ โ””โ”€โ”€ ๐ŸŒŸ Shine.png # Highlight sprite shared by player units
โ”œโ”€โ”€ ๐Ÿงฉ Prefabs/ # Unit-wide widgets such as HpWidget.prefab
โ””โ”€โ”€ ๐ŸŒ‘ Shadow.png # Ground shadow shared by every unit

Each enemy gets its own folder named Enemy_<Name>_<Tier> inside its class folder, holding that enemy's art and prefab side by side; player classes each own one folder with the avatar, the full-body art, and the unit prefab; widgets shared by every unit, such as the HP bar, live in Units/Prefabs/

Encountersโ€‹

๐ŸŒ„ Content/Encounters/ # Presentation assets owned by each encounter class
โ”œโ”€โ”€ ๐Ÿน Hunter/ # Hunter encounter presentation
โ”‚ โ”œโ”€โ”€ ๐Ÿ–ผ๏ธ Background.png # Full-screen class background
โ”‚ โ”œโ”€โ”€ ๐Ÿž๏ธ Layer/ # Foreground/background parallax layers
โ”‚ โ””โ”€โ”€ ๐Ÿงญ UI/ # Hunter-specific encounter UI art
โ”œโ”€โ”€ ๐Ÿช„ Mage/ # Mage background, parallax layers, and UI art
โ”œโ”€โ”€ โœจ Priest/ # Priest background, parallax layers, and UI art
โ””โ”€โ”€ โš”๏ธ Warrior/ # Warrior background, parallax layers, and UI art

Encounter backgrounds and their parallax layers belong to the class folder; the scene files themselves are not content; they live under Demo/Scenes/<Class>/

Statuses and intentsโ€‹

โœจ Content/Statuses/ # Status-owned icons, widgets, and presentation effects
โ”œโ”€โ”€ ๐Ÿงฉ Prefabs/ # StatusWidget.prefab and StatusIconEntry.prefab
โ”œโ”€โ”€ ๐Ÿ’ซ VFX/ # 25 status apply/expire effect prefabs
โ””โ”€โ”€ ๐Ÿ–ผ๏ธ Status_<Name>.png # 30 status icons selected in Workbench

๐ŸŽฏ Content/Intents/ # Assets used to telegraph enemy actions
โ”œโ”€โ”€ ๐Ÿงฉ Prefabs/ # IntentWidget.prefab and IntentEntry.prefab
โ””โ”€โ”€ ๐Ÿ–ผ๏ธ Intent_<Kind>.png # Eight icons: Attack through Unknown

Each status definition points at its icon through the Icon field you set in Workbench Status mode; the statuses with a signature visual keep those effect prefabs in Statuses/VFX/, and their apply / expire presentation is configured directly on the status FlowGraph with Status Apply FX and Status Expire FX nodes; the intent icons match the intent kinds enemies telegraph above their heads, and the two Prefabs/ folders hold the widgets the demo battle UI uses to display both

Shared art onlyโ€‹

Content/Art/ is reserved for assets used by multiple owning objects:

๐ŸŽจ Content/Art/ # Shared presentation infrastructure used across owners
โ”œโ”€โ”€ ๐Ÿ”Š Audio/ # Mixer, BGM, ambience, gameplay SFX, UI, stingers, and voices
โ”œโ”€โ”€ ๐Ÿ”ค Fonts/ # Runtime fonts and TextMesh Pro font assets
โ”œโ”€โ”€ ๐Ÿงช Materials/ # Shared UI, environment, and VFX materials
โ”œโ”€โ”€ ๐Ÿงฉ Prefabs/ # Cross-object widgets and reusable presentation prefabs
โ”œโ”€โ”€ ๐Ÿ“ฆ Resources/ # TinyGiants assets loaded through Unity Resources
โ”œโ”€โ”€ ๐Ÿงฌ Shaders/ # Shared UI, sprite, environment, and particle shaders
โ”œโ”€โ”€ ๐Ÿ–ผ๏ธ Sprites/ # Shared cursor, UI, and VFX textures
โ””โ”€โ”€ ๐Ÿ’ฅ VFX/ # Shared combat and class-ambience effect prefabs

The audio tree is the clearest example of a legitimate shared asset: one mixer and category folders (BGM, ambience, card sounds, combat hits, intent telegraphs, status clips, stingers, UI, enemy voices) that every scene routes through; A single card's signature sound would not belong here; it would go under that card's family folder

warning

Place an object's private assets directly under that owner and reserve Art/ for content used by more than one owner; deciding the owner first avoids touching unrelated references when assets move later

Placement rules for audio, VFX, and animationโ€‹

When a production pass adds final presentation assets, the ownership rule decides the destination:

The asset belongs toPut it under
One card familyContent/Cards/<Family>/VFX/ (or Audio/, Animation/)
One enemyits Content/Units/Enemy/Enemy_<Class>/Enemy_<Name>_<Tier>/ folder
One player classContent/Units/Player/<Class>/VFX/ (or Audio/, Animation/)
One encounter classContent/Encounters/<Class>/VFX/ (or Audio/, Animation/)
Many unrelated objectsContent/Art/VFX/ (or Audio/, Animations/)

The per-object subfolders are created on demand, the first time such an asset exists; an empty Audio/ folder under every card family would be noise

Applying the rule to your projectโ€‹

The layout is mandatory for demo content and recommended for yours; to mirror it:

  1. Decide which object owns the asset before importing it
  2. Put the asset in that object's folder, creating the subfolder if needed
  3. Use a shared folder only when more than one object owns or uses the asset
  4. Keep databases separate from presentation assets
  5. Keep demo content and production content in separate roots, so a demo cleanup never touches your game