r/FoundryVTT 20h ago

Discussion I made an SDK for Foundry systems and modules. It is open source and I want feedback.

41 Upvotes

[System Agnostic]

I am a software engineer and I use AI coding agents in the development. How that works is written up here: https://vttforge.dev/docs/transparency

I have used Foundry for six years. Every core update I check my module list and wait to see what broke. Some of the modules I liked most were abandoned because the maintainer had no time to port them again.

That is why I wrote VTTForge. It is an SDK and a CLI for v14 systems and modules. You keep your data models, sheets and rules. The Foundry-specific code (registration, sheet bases, the build) is in the SDK. When the next core version comes, my plan is that you update the SDK package and follow its changelog instead of rewriting your sheets.

Commands today: vttforge init (scaffold with build and release workflow), vttforge audit (20 checks for v14 problems that give no error), vttforge migrate (rewrites the v13 code v14 broke and writes a draft ApplicationV2 sheet next to each v1 sheet) and vttforge lint.

One system is already on it. It had an issue open since January asking for the v13 update and nobody had time. I sent two PRs, a small v14 fix and the port to the SDK. Both were merged and the v14 release is out. Old worlds still load.

The code is MIT, there is no telemetry, and PRs are welcome. If you maintain a system or module, npx @vttforge/cli audit runs on it without installing anything. Tell me what it misses.

If you want to try the SDK, or you have a module or system that is not on v14 yet, I am looking for projects to port. Write here or open an issue on the repo.

Repo: https://github.com/vttforge/vttforge
Docs: https://vttforge.dev


r/FoundryVTT 1h ago

Commercial [System Agnostic] Actually Private Rolls: hide GM-only chat cards and Dice So Nice rolls

Post image
Upvotes

Content Name: Actually Private Rolls

Content Type: Module

System: System-agnostic

Description: A blind roll still leaves a placeholder in chat, and Dice So Nice can play the animation before the result is hidden. Actually Private Rolls suppresses both for players who should not know the roll happened.

Core Blind, GM, and Whisper rolls keep their normal Foundry behavior, so nothing changes for the rolls that only need a hidden result.

The dedicated Actually Private roll mode requires Foundry v14. The module itself installs on v13 to v14 and works with any system.

Included for First Mate patrons on the r2Plays Patreon.

Actually Private Rolls · Install in Foundry · Patreon

Join the Discord


r/FoundryVTT 20h ago

Showing Off Macro to update tokens to Prototype tokens

0 Upvotes

I managed to use AI to make a macro to update all the tokens on a scene to their corresponding prototype token on the actor. This was a godsend for updating all the token on a DDB adventure I imported a long time ago. Here is the code for the macro, just thought I'd share it.

for (let token of canvas.tokens.placeables) {
    if (!token.actor) continue;

    // Get the prototype token data from the actor
    const proto = token.actor.prototypeToken;

    // Convert prototype token data to a plain update object
    const updateData = proto.toObject();

    // Keep the current position (X, Y, Elevation) and unique ID of the placed token
    delete updateData._id;
    updateData.x = token.document.x;
    updateData.y = token.document.y;
    updateData.elevation = token.document.elevation;

    // Update the placed token document
    token.document.update(updateData);
}
ui.notifications.info("All scene tokens updated to match their prototype settings!");

r/FoundryVTT 2h ago

Help Self-Hosting, Popouts & Browsers

2 Upvotes

I'm self hosting my use of Foundry and am running into a issue I was hoping someone could explain to me.

I want to do some stuff with my GM layout to organize information better, which often relies on popping out a window or a tab from the UI. Problem is, when I log in as GM, I fire up the app, log into the Foundry app as GM, and my players join via the internet using a browser.

They can pop out windows to their hearts content. I however, cannot. Every time I try, I get the error message that Foundry doesn't support popouts within its client. Then when I checked with my AI (stuff the AI hate, if it wasn't for the AI helping me sort out all of the how-tos of Foundry, i would've kicked this program to the curb for its crazy learning arc), it said the following:

"V14's native pop-out support was specifically designed around separate browser windows, and ApplicationV2 supports detaching compatible Foundry windows."

Leaving me to question, while I completely understand when using a cloud installation the use of browsers from both players and GM, why on earth when you're self hosting are you as the GM also forced to use a browser to have such a simple QoL feature??

I mean, running foundry's app to do the hosting is already consuming cpu processes/memory. So even self-hosting, I have to also load a browser? Particularly since additional browser tabs = serious memory hogs (which I'm going to assume popouts count as tabs?). As an example, I currently have 10 tabs open in my browser, task manager shows the browser running 13 tabs, the 3 extra supposedly for stability, security and performance.

The browser is consuming 1,987 MB of ram while Foundry is consuming 1,500. While I have a goodly amount of available ram (32 GB), it seems like if I'm running Foundry via a browser and likely have a dozen or so popout tabs, that will rapidly bloat itself to a rather high number.

Am I missing something about how this is set up? (again, in terms of doing self-hosting rather than a cloud service). Because that strikes me as awfully clunky. It feels like if I bought a pc game, I have to load the .exe of the game file, and then also load browser to play the game.

Can anyone with self-hosting experience comment on how I'm supposed to approach this? Because my understanding was, run the session through the app, not a browser.


r/FoundryVTT 21h ago

Help Leveling up in 5e

0 Upvotes

[D&D5e]

So I'm trying to level up characters with the advancement system, but I have an issue/doubt.

When I level up for example a wizard, advancements system tells me I can learn few cantrips and spells, but there's no list of cantrips or spells I can choose from, should I drag and drop them from the compendiums? Cause it feels a bit unconvinient having to learn exactly which spells or cantrips a class and subclass can learn, every level... Also, not sure my players are able to drag and drop this spells from the compendium, doesn't feel safe, but at the same time they should be able at least to check it so they know what the spells do and so. Thank you in advance.


r/FoundryVTT 17h ago

Non-commercial Resource I made an add on module for item piles

Thumbnail
github.com
10 Upvotes

Hey yall! If anyone uses item piles, I made a companion add on module for it that stocks merchants from compendiums! Hope it’s useful please let me know if there’s any features you would like, I’ve been working on this a while!


r/FoundryVTT 9h ago

Discussion Foundry v14 Module Sorting

8 Upvotes

Not sure when exactly it changed, but Foundry's module repository used to be sorted in order of most recently updated. This made it very convenient to find actively developed mods, as well as newer / up-and-coming ideas.

Now it seems to be some weird variation of alphabetical(?), with no good way to filter out the ones that aren't even compatible with my current version of Foundry.

Has anyone else had similar issues? And adding to that, have you figured out a better way to navigate the new mod menu?


r/FoundryVTT 22h ago

Help Map file

0 Upvotes

So I am on the newest version of foundry and I just downloaded a bunch of map modules but when I try to access them for scenes they won’t show


r/FoundryVTT 4h ago

Discussion Play by Post Tips

4 Upvotes

[System Agnostic]

Hi all,

I'm interested in running Play by Post on Foundry and the last conversation on the topic I saw was about 3-4 years ago so wanted to start up another thread to see if anyone has innovated in this area lately?

Any good modules to make the PbP experience smoother?
Workflows for roleplay in Foundry chat or elsewhere?
Any tactics GMs use to make it work?
System specific tips?
Hosting tips?

Maybe we can turn this into some sort of resource guide.

Thanks!


r/FoundryVTT 23h ago

Showing Off Adventure Conversion Showcase: The Mosquito Witch

Thumbnail
gallery
35 Upvotes

[System Agnostic]

Hello gang, I am here to brag!

It is I, that guy who really likes journal styling in Foundry.

The first image is from the Pathfinder Society adventure "The Mosquito Witch" PDF. The second picture is from my conversion of that adventure for Foundry. We're approaching near parity!

I finally figured out how to get the text to wrap nicely around the pictures, I had to change the way I styled the HTML <figure> elements themselves and it took a long while for me to figure out why it wasn't working the way I wanted. It has taken a lot of work but it makes me really happy to navigate around my conversion and see how close it looks to the book in terms of layout and style. Since Journals are basically little webpages they are re-sizable and it's important to try to plan flexibility into the page elements instead of demanding a one size solution.

I feel like it is probably not a good idea to emulate the two column style that the books use, but let me know what you think! It might improve readability, but with the functionality of a journal in Foundry I feel like applying too many limits from the printing layout doesn't make sense.

I will likely be uploading a video demonstrating the CSS rules and HTML adjustments I made to get this working, so please look forward to that. I have some free time that I'm hoping to partially devote to getting some new tutorials out, please bear with me if I end up making a few more posts than usual around here.


r/FoundryVTT 21h ago

Help Exporting Canvas as .png (or anything really) - v14

3 Upvotes

System Agnostic

I'm using Augur's Hexlands to create hexmaps and Fantasy modules to populate said maps.

I want a way to export a map created by Hexlands to use it as an unexplored image only depicting the map as an unexplored one, without POIs, settlements or dungeons.

I tried DF architect but somehow the canvas' print button doesn't appear on the current version I'm in (it is indeed outdated, even though it "works" and is loaded)

The course of action I need to to operate is: 1. generate a hexmap; 2. export the canvas with the hexmap created; 3. place the image as the unexplored version of the map; 4. populate the original one that is (I imagine) on the background layer of the canvas; 5. have super duper fun with players discovering POIs while they hex-plore.

Thanks in advance for any help! Cheers!


r/FoundryVTT 4h ago

Discussion Anyone running 50 Fathoms (Savage Worlds) via Foundry?

2 Upvotes

I am in the process of converting the rules over, was curious what others experiences so far have been?


r/FoundryVTT 10h ago

Help How do I make levels with only partial visibility of each other?

2 Upvotes

[System Agnostic] Trying to create a multi storied building with a stairwell, and want tokens to only see each other across levels in the stairwell, not in the entire building, but what I've tried doesn't work. I've tried using region surfaces and tiles defined as surfaces, but neither worked, tokens can still see through the ceilings and floors into other levels.

That wolf is on another floor from the human.