Getting Started
Every pack is a standalone npm package. Install only the packs you need — they have no dependencies and no runtime code.
Install
Section titled “Install”# Pick any combination of packsnpm install @sprite-foundry/undead-patrol-48npm install @sprite-foundry/goblin-warband-48npm install @sprite-foundry/fantasy-heroes-48npm install @sprite-foundry/fantasy-villains-48npm install @sprite-foundry/pirate-raiders-48After install, sprites are available at:
node_modules/@sprite-foundry/<pack>/assets/<variant>/<layer>/<direction>.pngLoading sprites
Section titled “Loading sprites”Node.js / bundler projects
Section titled “Node.js / bundler projects”const path = require('path');
// Resolve the path to a specific spriteconst sprite = path.resolve( 'node_modules/@sprite-foundry/fantasy-heroes-48', 'assets/paladin/albedo/front.png');
// Read the manifest for metadataconst manifest = require( '@sprite-foundry/fantasy-heroes-48/assets/paladin/manifest.json');console.log(manifest.render_contract.direction_order);// → ['front','front_left','left','back_left','back','back_right','right','front_right']Godot 4
Section titled “Godot 4”Copy the assets into your project’s resource directory, then load them as textures:
# Copy pack assets into res://sprites/undead-patrol/ firstvar shambler_front = load("res://sprites/undead-patrol/shambler/albedo/front.png")var shambler_normal = load("res://sprites/undead-patrol/shambler/normal/front.png")
# Apply to a Sprite2D with normal map$Sprite2D.texture = shambler_front$Sprite2D.material.normal_map = shambler_normalPhaser 3
Section titled “Phaser 3”// In your preload functionfunction preload() { const variants = ['shambler', 'runner', 'bloater']; const directions = ['front', 'front_left', 'left', 'back_left', 'back', 'back_right', 'right', 'front_right'];
for (const v of variants) { for (const d of directions) { this.load.image( `${v}_${d}`, `assets/undead-patrol/${v}/albedo/${d}.png` ); } }}PixiJS
Section titled “PixiJS”import { Assets, Sprite } from 'pixi.js';
const texture = await Assets.load( 'node_modules/@sprite-foundry/goblin-warband-48/assets/grunt/albedo/front.png');const goblin = new Sprite(texture);goblin.anchor.set(0.5, 1.0); // center-bottom pivot per manifestVerify installation
Section titled “Verify installation”Each pack includes a verify script that checks all assets exist and match their manifests:
cd node_modules/@sprite-foundry/fantasy-heroes-48npm run verify# → All assets verifiedFrom the monorepo root, verify all packs at once:
npm run verifyNext steps
Section titled “Next steps”- Browse the Pack Catalog for variant details
- Read the Reference for manifest schema and asset contracts