Repeating Sections
Repeating sections let players dynamically add and remove rows of data — think inventory items, spell lists, attack entries, or class features. Instead of creating a fixed number of slots, you design one template row and the VTT handles letting players create as many copies as they need.
For complete Roll20 documentation on repeating sections, see the Roll20 Repeating Sections wiki page.
How Repeating Sections Work
A repeating section has two parts:
- The section container — A special container with a name that starts with
repeating_(e.g.,repeating_inventory,repeating_spells,repeating_attacks). - The template row — The components inside the container define the fields that each row will have. On Roll20, players see an "Add" button that creates a new copy of this template row.
When a player clicks "Add", a new row appears with all the same fields. Each row gets its own unique ID, so the attribute names automatically become unique (e.g., repeating_inventory_-ABC123_item_name).
Creating a Repeating Section
- Drag a Repeating Section component from the Layout & Basic group in the sidebar.
- You will be prompted to name the section (e.g., "inventory"). SheetArchitect automatically adds the
repeating_prefix. - The repeating section container appears in your layout.
- Add components inside it to define your template row — inputs, labels, buttons, whatever each row should contain.
For example, an inventory repeating section might contain:
- A text input named
item_name - A number input named
quantity - A number input named
weight - A text area named
description
Each inventory row the player creates will have all four of these fields.
To add calculations to your repeating section rows (like computing total weight from quantity and per-item weight), use a Batch Processor in repeating mode in the Logic Editor. It auto-discovers rows and runs your formula across all of them.
Naming Rules
Roll20 enforces strict naming conventions for repeating sections:
- The section name must start with
repeating_followed by a lowercase name with no spaces. - SheetArchitect handles the
repeating_prefix automatically — you just provide the section name (e.g., "inventory"). - Attribute names inside the repeating section should not include the section prefix. Just name them as you normally would (e.g.,
item_name, notrepeating_inventory_item_name). Roll20 handles the full path at runtime.
Avoid special characters and spaces in repeating section names. Stick to lowercase letters, numbers, and underscores. SheetArchitect enforces this automatically, but it is good to be aware of the restriction.
Renaming a Repeating Section
You can rename a repeating section at any time through the Component Details dialog. When you change a section's name, SheetArchitect automatically propagates the rename across your entire project:
- Layout nodes — All attribute names on inputs, buttons, and other fields inside the section are updated to use the new section name prefix.
- Attributes — Template attributes, row instance attributes, and their internal name fields are all renamed in the attribute store.
- Logic nodes — Any Batch Processor nodes in the Logic Editor that reference the old section name are updated to point to the new name.
This means you can safely rename a section like weapons to attacks without manually hunting down every reference. The rename is atomic — all three layers update together.
If you realize a section name doesn't match your intent (e.g., you named it "items" but it's really for "equipment"), just rename it. SheetArchitect handles the cascading updates for you.
Nesting Restrictions
Roll20 does not support nesting repeating sections inside other repeating sections. You cannot have a repeating_spells inside a repeating_spelllevels, for example. SheetArchitect prevents you from accidentally creating this invalid structure.
Roll Buttons Inside Repeating Sections
Roll buttons inside repeating sections are a common and powerful pattern. For example, an attack row might have a roll button that rolls the attack using the values from that specific row. SheetArchitect handles the attribute name scoping automatically — a button named attack_roll inside repeating_attacks will correctly reference the attributes from its own row.
Prebuilt Repeating Sections
Some prebuilt layouts include repeating sections (like the D&D 5e Actions Section or Inventory Section). After adding one of these prebuilts, you can modify the template row just like any other component — add fields, remove them, rearrange them, or change their properties. The repeating section context menu also offers an Add Row Field option for quickly inserting common field types.
Need calculations inside your repeating section rows — like totaling attack bonuses or summing inventory weight? Use a Batch Processor in repeating mode in the Logic Editor. It auto-discovers rows from your repeating section and runs formulas across all of them, with built-in aggregation for summary values. See Repeating Mode.