| Latest version | 0.0.5 |
|---|---|
| Minimum Core | 13 |
| Compatible Core | 13 |
| File size | 347.62 KB |
| Last updated | 9 months ago |
| Created | 10 months ago |
| Authors | |
| Languages |
English Português (Brasil) |
| Systems | All systems |
| Project source | Project URL |
✨ New PDF Import is here! Convert PDFs to fields in seconds.
Need a 'Sanity' score or homebrew resource? Custom Fields lets you add any field to Actor and Item sheets. Features auto-formulas (e.g. #system.abilities.str.mod# + 1), token bar linking, item counters, images and individual permissions. System-agnostic, it's the perfect way to integrate your custom rules seamlessly.
Custom Fields is a powerful and intuitive module that allows Game Masters to add new, custom-tailored data fields directly onto Actor and Item sheets. It's designed to be completely system-agnostic, meaning it works seamlessly with the vast majority of game systems available on Foundry VTT. Whether you need a new resource, a special counter, a place for notes, or decorative banners, this module makes it possible with just a few clicks.
Versatile Field Types: Create the exact field you need:
12/20).PDF Import & Conversion: Turn any fillable PDF into a functional character sheet instantly!
Advanced Layout & Tabs: Organize your fields with powerful tools:
Synchronized Fields (Formulas): Formerly known as "Formula Fields," these allow you to define fields that automatically calculate their value based on other data in the actor's sheet. The result updates dynamically whenever the source data changes.
Features a "Picking Mode": when editing a formula, simply click on another field on the sheet to automatically insert its path. Also supports advanced math functions like round(), roundup()/ceil(), rounddown()/floor(), and specifying decimal places (e.g., round(10/3, 2)).
Example: Create a "Carry Bonus" field with the formula round(#system.abilities.str.mod# * 2).
Actor Resources (Token Bars & Macros): Mark any Number or Value/Max field as an "Actor Resource." This makes it instantly available in the token configuration to be linked to a token's resource bars. Once created, these resources can also be referenced in macros or chat commands just like any other system attribute (e.g., @custom-fields.honor.value).
Item Counters: Make a numeric field on an item display as a small counter over its icon in a character's inventory. This is ideal for tracking ammo, potion doses, or magic item charges at a glance.
Full Custom Mode for System-Agnostic Sheets: For ultimate control, you can enable "Full Custom Mode" in the module settings.
.sheet-header) that you wish to keep visible.Granular Permissions: Control exactly who can see and who can edit each individual field. You can set permissions based on document ownership (Observer, Owner) and user role (Player, GM).
Intuitive Configuration: All fields are managed through a clean, easy-to-use settings menu. Reorder fields with drag-and-drop, easily add or delete them, and configure all options in one place.
Workflow Power Tools:
The possibilities are limitless, but here are a few common scenarios:
Getting started is easy. Follow these steps:
1. Enable Document Types
Before creating fields, you must tell the module which sheets to modify.
Settings -> Custom Fields.Configure Types.2. Create Your Fields & Containers
Configure Actor Fields or Configure Item Fields.Add Field to create a standard field, or click Add Container to create a layout group.2.5. (Optional) Import a PDF
Settings -> Custom Fields -> Convert PDF Sheet.Configure PDF Fields menu.3. Configure Special Features
To create a Formula:
Sync Data Paths box.#...#), like #system.abilities.str.mod#. Do not use @.To create a Token Resource (Actor Fields Only):
Number or Value/Max.Set as Resource box.To create an Item Counter (Item Fields Only):
Number.Enable Counter box.4. Automation: Running Macros from Fields
You can link any field to a Foundry Macro, creating buttons to roll dice, check attributes, or trigger scripts using the field's current data.
A. Chat Macros (Simple) Use the following placeholders in your chat command. The module will replace them before execution.
@value: The current value of the field.@label: The name of the field.@actor: The name of the actor.@uuid: The uuid of the actor.@path: The data path (flag) of the field.Example:
/r 1d20 + @value # Rolling @label for @actor
B. Script Macros (Advanced) For Javascript macros, variables are injected directly into the execution scope. You can use them immediately:
value: The value of the field (Number or String).label: The label of the field.actor: The Actor document Name.uuid: The Actor document UUID.token: The Token document instance (if available).path: The flag path string.Example:
// A simple check macro
if (value >= 10) {
ui.notifications.info(`${actor.name} passed the ${label} check!`);
} else {
ChatMessage.create({ content: `${actor.name} failed. Value ${value} is too low.` });
}
5. Choose Your Sheet Style
Native Integration: By default, fields appear at the top of the standard sheet.
Custom Sheet: In the Actor's sheet header click "Configure Sheet" and select Custom Fields to see only your fields.
Full Custom Mode: Enable this in settings to force the native sheet to hide its own elements, leaving only your fields (useful for partial overrides).
4.1 (Advanced) Enable Full Custom Mode
Settings -> Configure Settings -> Custom Fields module settings.Enable Full Custom Mode to hide all native sheet elements.Advanced Protected Selectors field to keep specific elements visible. For example, to keep the character sheet's header, you would enter .sheet-header.Force Activate Protected Tabs option.6. Save and Enjoy!
Save Changes.Q: What is the difference between a "Number" field and a "Synchronized" field?
1+5 sets 6 to the current value). A Synchronized field is dynamic; you write a formula (like #system.attributes.hp.max# / 2), and it updates automatically whenever the referenced HP changes. You cannot edit the result manually.Q: How do I make the tabs work?
Q: My Image field isn't updating the Token!
Q: Will this work with my game system?
Q: How do I reference my new fields in macros or other modules?
@custom-fields.field-id.value. You can get the exact ID from the "Copy Attribute Key" button (@) in the settings.flags.custom-fields.field-id. Use the "Copy Field Path" button (📋) in the settings to get the precise path.Q: I created a field, but it's not showing up on the sheet.
Configure Document Types settings menu? This is the most common reason.Actor/Item Fields configuration window?Q: My formula just shows #ERR. What did I do wrong?
#...#.system.attributes.hp), you must specify which part you want: #system.attributes.hp.value# or #system.attributes.hp.max#.To install this package, open your Foundry Setup screen and navigate to your Module tab and click the Install Module button.
From there, you can either search for the package unique name: custom-fields or copy its manifest URL:
And paste it to the input box at the bottom of your window.

You can install this package directly to your Forge account.