This is a guide to creating character sheets in Roll20, intended for people who aren’t programmers. This covers every aspect of character sheet creation, with the tips focussed specifically on Roll20 design.
It’s divided into the different topics. Make sure to click a heading if you want a better guide and want to know more about that topic. Also, check out Andreas’s Guide for an overview of things.
The Basics
These three sections cover the basics of sheet authoring. You need some familiarity with these three things.
1. HTML
The elements that form the foundation of a character sheet.
2. CSS
The styling of a character sheet.
3. Meta
This covers articles about sheet authoring on roll20, and transcends specific languages.
Advanced Skills
These cover skills that many sheets will need once you have mastered the basics.
4. Sheet Workers
Powerful automation for your sheet, using JavaScript with some quirks.
- Anatomy of a Sheet Worker
- Variables – How to Name Things
- Arithmetic in Sheet Workers
- What If? in Sheet Workers
- Arrays and Dropdowns
- JavaScript Objects
- Getting Loopy With JavaScript
- Strings in Sheet Workers
- Logging in the Browser Console
- Strings, Arrays, and Loops
- Undefined and Other Error Values
- Asynchronicity and Things to Avoid With Loops
- Events, and watching Attributes
- Changes and the eventInfo Object
- Action Buttons
- setAttrs and Saving Attributes
- A Sheet Worker Reprise
- Castle Falkenstein Design – Sheet Workers
4. Repeating Sections
Dynamic sections of your sheet like equipment lists, spells, and weapon lists. Requires HTML, CSS, and sometimes JavaScript.
- What Is a Repeating Section?
- Repeating Section Names
- Building a Repeating Section (HTML)
- Styling a Repeating Section (CSS)
- Styling the Section Buttons (CSS)
- Simple Repeating Sections
- Less Simple Repeating Sections
- The One Line Repeating Section
- Combining Repeating Sections and Global Stats
- Advanced Action Buttons
- Undo in a Repeating Section
- Repeating Section Gotchas
- A Summary of Repeating Sections
6. Roll Templates
How rolls appear in chat, roll templates require HTML and CSS. They can sometimes benefit from Sheet Workers (JavaScript).
Optional Skills
These articles cover things that are nice to add to a sheet, but which you can do without.
7. Custom Roll Parsing
Requires HTML, CSS, Sheet Workers, and Roll Templates, and sometimes Repeating Sections. Very complex, but there are some things you can’t do any other way.
7.b CRP Examples
CRP is very complex, so here are a bunch of examples showing how to use it. (The bulk of this section will go live in November 2023.)
8. Translations
Making one sheet work in multiple languages. Its very tedious to set up, but a lot simpler with Templating (see below).
A noob-friendly tutorial is coming in December 2023, but for new see the Roll20 Wiki’s guide.
More Speculative Stuff
These are things which are only added to a sheet in certain cases, and might not even be possible in come cases. This will be created gradually throughout 2024.
Templating
Sheet Templating is a way to create sheets more rapidly, by scripting the repetitive parts. There’s no right way to do this, and several options.
jQuery in Roll20
Coming in 2023-4 (probably – it’s turning out to be less useful than originally envisaged, but Roll20 did state improvements were coming).
Charactermancer
A charactermancer is only possible if you have the license for the system. I’ll probably write it up but its not a high priority.
Compendium
Custom Compendiums are something Roll20 have said will be available, but they do not exist yet. If they do become available, I’ll add instructions here.