A Foundry VTT module for the Dungeon Crawl Classics system that adds a Custom Class character sheet with dynamic tab labels, grouped skills, and a visual class builder wizard.
- Selectable sheet alongside default DCC sheets (Generic, Warrior, Wizard, etc.)
- Dynamic tab label - rename using a
(CUSTOMCLASS)YourClassNameskill - Custom tab icons - set via FontAwesome classes in skill descriptions
- Zero system intrusion - uses Foundry's native sheet framework
- Prefixed skills automatically group:
(Barbarian^10)Rage - Weight-based sorting - higher weights appear first (e.g.,
^10before^5) - Class-matching priority - skills matching the custom class name appear first
- Occupational skills - unprefixed skills automatically group at bottom
- 3-step wizard for creating custom classes
- Icon picker with 15+ common icons + custom FontAwesome input
- Skill editor with drag-to-reorder, descriptions, and weights
- Live preview before creation
- Folder organization - creates structured Item folders
- One-click apply - optionally add class to actor immediately
- Tooltips - hover over skill names to see full descriptions
- Post to chat - click skill names to share with players
- Roll checks - click skill icons to roll skill checks
- Enriched HTML - full support for tables, formatting, inline rolls
- Open Foundry VTT
- Go to Add-on Modules tab
- Click Install Module
- Paste this URL:
https://github.com/YOUR-USERNAME/dcc-custom-class-sheet/releases/latest/download/module.json - Click Install
- Create a new Player actor or open an existing one
- Change sheet to "Custom Class":
- Click the sheet config button (top-right)
- Select "Custom Class" from dropdown
- Click "Create Custom Class" button in the empty tab
- Follow the 3-step wizard:
- Step 1: Enter class name + choose icon
- Step 2: Add skills with names/descriptions/weights
- Step 3: Preview and create
- Apply to actor when prompted (or drag folder from Items sidebar later)
Step 1 - Basics:
- Class Name:
Barbarian - Icon:
fa-axe-battle(Axe)
Step 2 - Skills:
Rage| Enter a primal fury that grants +4 Str | Weight: 10Natural Armor| Tough hide grants +2 AC | Weight: 10Battle Cry| Intimidate foes within 30 feet | Weight: 0
Step 3 - Preview:
- Select parent folder (optional)
- Click "Create Class"
Result:
- Folder created in Items:
Barbarian - Skills auto-prefixed:
(Barbarian^10)Rage, etc. - Tab label: "Barbarian" with axe icon
- Skills sorted by weight, then alphabetically
Controls the tab name and icon:
Name: (CUSTOMCLASS)Barbarian
Description:
<p>icon: fa-axe-battle</p>
<h3>Barbarian</h3>
<p>A fierce warrior from the frozen north...</p>
Result: Tab labeled "Barbarian" with axe icon
Format: (ClassName^Weight)SkillName
Examples:
(Barbarian^10)Natural Armor- Weight 10, appears first(Barbarian)Rage- Weight 0, alphabetical order(Ranger^5)Track- Different class group
No prefix needed:
LockpickingSwimmingClimbing
These automatically group under "Occupational Skills" at the bottom.
Add to (CUSTOMCLASS) skill description:
icon: fa-icon-namePopular Icons:
- Barbarian:
fa-axe-battle - Monk:
fa-hand-fist - Ranger:
fa-bow-arrow - Wizard:
fa-hat-wizard - Rogue:
fa-mask - Cleric:
fa-cross - Druid:
fa-leaf
Find more: FontAwesome Icon Browser
Higher weights appear first within their group:
(Barbarian^20)Signature Move ← Appears 1st
(Barbarian^10)Core Ability ← Appears 2nd
(Barbarian^10)Another Core ← Appears 3rd (alphabetical)
(Barbarian)Basic Skill ← Appears last (weight 0)
Use multiple class prefixes:
(CUSTOMCLASS)Ranger/Rogue
(Ranger^10)Track
(Ranger)Animal Companion
(Rogue^10)Sneak Attack
(Rogue)Pick Locks
Climbing ← Occupational
Display order:
- Ranger group (alphabetically first after class name check)
- Rogue group
- Occupational Skills
Use the Parent Folder selector in Step 3 to organize:
📁 Custom Classes
📁 Barbarian
📄 (CUSTOMCLASS)Barbarian
📄 (Barbarian^10)Rage
📁 Blood Mage
📄 (CUSTOMCLASS)Blood Mage
📄 (Blood Mage)Crimson Bolt
- Ensure you have exactly one
(CUSTOMCLASS)Nameskill - Spelling must be exact:
CUSTOMCLASS(all caps) - Reload the sheet after adding/changing
- Check prefix format:
(ClassName)SkillNameor(ClassName^Weight)SkillName - Verify item type is "skill" (not weapon, spell, etc.)
- Skills must belong to the actor (not just in Items directory)
- Format:
icon: fa-icon-nameat the top of(CUSTOMCLASS)description - Use FontAwesome free icons only
- Falls back to
⚠️ if invalid
- Check browser console for errors (F12)
- Verify module is enabled in game settings
- Foundry VTT: v13+ (uses ApplicationV2 API)
- DCC System: 0.63+
- Conflicts: None known
Potential future features:
- Bulk import from CSV/JSON
- Class templates compendium
- Automatic HD/Save/Attack progression
- Export class to .json
- Tweak the Custom Class creation wizard
Issues and pull requests welcome!
- Fork the repository
- Create a feature branch:
git checkout -b feature-name - Commit changes:
git commit -am 'Add feature' - Push to branch:
git push origin feature-name - Open a Pull Request
This module is licensed under the MIT License.
Author: Dr. Mummson
Acknowledgments:
- Dungeon Crawl Classics system by Goodman Games
- Foundry VTT DCC system by [system authors]
- FontAwesome for icons
- Issues: GitHub Issues
- Discord: dr_mummson