Setting Up Foundry VTT For GURPS

GURPS grognards and newbies alike, welcome!

The past month or so I’ve become super stoked by a new virtual tabletop, Foundry VTT, and am enjoying the first, fledgling efforts of the community to get some (still unofficial, sadly) GURPS support cobbled together.

I’m not much of a coder but I did want to pitch in where I could, so here are a bunch of Rollable Tables you can import into your Foundry VTT. Please don’t be overwhelmed by the installation instructions — shouldn’t take more than 15 minutes or so to actually do, I just tried to be thorough in the directions. At some point in the future this can hopefully be automated.

Things you will need

  • Naturally, you need a copy of the Foundry VTT software.
  • Plus, this link to the still-in-progress GURPS Game System file:
  • And finally, my zipped file containing 15 rollable tables. Be sure to note where you download it to on your PC.

Setting Up

  • Start your Foundry software and go to “Configuration and Setup” –> “Game Systems.”
  • Click “Install System,” enter the link…
    …in the field titled “Manifest URL” (at the bottom of the pop-up window) and click “Install.” The current GURPS Game System should now be installed!


  • Back in the “Configuration and Setup” window, go to “Game Worlds.”
  • Click “Create World” and enter some details:
    • World Title can be whatever you like. You can have multiple worlds (games), but for now you will have to repeat this import process for each world you want to use the GURPS tables within. For example, “GURPS Base.”
    • Data Path can also be whatever you like, but I usually name it similar to the World Title. (“gurps-base”)
    • Game System. Opening this pull down menu will show each of the Game Systems you have installed. For this one, choose “Generic Universal Roleplaying System 4th Edition.”
  • You can leave the rest blank/default for now, click “Create World” to create your new GURPS Base game.

  • Back in the “Configuration and Setup” window, find the “GURPS Base” game (or whatever you named it) and click “Launch World.” In the window that pops up, choose “Gamemaster” from the “Select Player” dropdown and click “Join Game Session.” You should now find yourself in the “GURPS Base” world.

The GURPS Game System should now be installed and running. If you go the “Actors Directory” tab of the right-side menu and click “Create Actor,” you should see the basic, current GURPS ‘character sheet.’ Okay, now to get the Rollable Tables imported!

Importing the Rollable Tables

Before we can import the tables, they need to be unzipped/unpacked from the file you downloaded. I only have access to a Windows machine, hopefully the process is similar on Mac/Linux.

  • Navigate to the file on your PC (outside of Foundry, in Explorer) and unzip/unpack it. You should end up with the following folder/files structure:






Hit Locations



  • Back in Foundry, go to the “Rollable Tables” tab of the right-side menu and click the “Create Table” button 15 times to create 15 tables, each named “New Rollable Table (0).” You can then click “Close” on each of those tables to get them off the screen.

  • This is an optional step, but it will help keep things organized. Still on the “Rollable Tables” tab, click “Create Folder” three times to create three new folders named Criticals, Criticals-Mook, and Hit Locations. Drag and drop four of the “New Rollable Table (0)” tables into the “Criticals” folders; two into the “Criticals-Mook” folder; eight into the “Hit Locations” folder; and you can leave one “New Rollable Table (0)” outside of the folders.
  • Note that the two “Criticals-Mook” tables — “Crit Hit” and “Crit Miss” — are my own streamlined variations of the official tables. If you’re not using them, there is no need to import them.

  • Still on the “Rollable Tables” tab, right-click on the first “New Rollable Table (0)” in the “Criticals” folder and choose “Import Data.” In the small pop-up window, click “Choose File” and navigate to the folder/file “Criticals/fvtt-RollTable-Critical_Head_Blow.json.” Click “Open,” and then “Import.” You should see that the name of the table changes from “New Rollable Table (0)” to “Critical Head Blow (11).” One down!
  • Repeat this exact process to import the other three “Criticals” tables: fvtt-RollTable-Critical_Hit.json, fvtt-RollTable-Critical_Miss.json, and fvtt-RollTable-Critical_Unarmed_Miss.json.
  • Then, repeat the process for the two “Criticals-Mook” tables (if you’re using them) and the eight “Hit Locations” tables. For the final “New Rollable Table (0),” import fvtt-RollTable-Random_Hit_Location.json.

All of the tables are now imported and ready to use. You can roll on any table by left-clicking it to open and clicking the “Roll” button. Foundry will then roll 3d6 and output the results to the chat window, but you may notice it takes a second or two. For more immediate results — let’s set up some macros!


You can create a wide range of macros in Foundry VTT and access them quickly via the hotbar in the lower left of the screen. To create macros for more easily rolling on our newly imported tables…

  • Click any one of the empty boxes on the macro hotbar. Change the name to “Random Hit Location,” change the drop-down “Type” from “Chat” to “Script,” and enter the following in the “Command” field: game.tables.getName(“Random Hit Location“).draw().
  • You can also change the icon by clicking on it and choosing a new one from the offered choices. Change the “Display Mode” to more easily see the selections.
  • Click “Save Macro” when finished.

Now, when you click on that macro’s icon, the “Random Hit Location” table will immediately roll and output its results to the chat window! To create the other macros, repeat this process six more times, using the below for the “Command” field. Note that the “Crit Hit” and “Crit Miss” tables are my own streamlined variations, so if you’re not using those there’s no need to create macros for them.

game.tables.getName("Critical Hit").draw()
game.tables.getName("Critical Head Blow").draw()
game.tables.getName("Critical Unarmed Miss").draw()
game.tables.getName("Critical Miss").draw()
game.tables.getName("Crit Miss").draw()
game.tables.getName("Crit Hit").draw()

Hopefully, that should be it! You’ll have the rudiments for using Foundry to GM GURPS, a foundation you can build on as the community continues to expand the GURPS support.

Have you taken a look at Foundry VTT yet? What do you think of it as a fit for GURPS? I’m interested in what’s going on out there with the two, it seems like a great match!


If you enjoyed this post and others like it, might you consider the Game Geekery Patreon?



  1. Someone contacted me about this, and said that they thought the character sheet package I’ve built using javascript and HTML ( might be easily adapted into Foundry. I am a coder, but I’m unfamiliar with VTT software. I’m interested, but I might need a little hand-holding here and there; might you be able to answer questions (or point me to someone else)?

  2. Hey there, Mook. How has Foundry VTT been working out? Roll20 has been difficult lately–especially on Friday nights, trying to use the new Dynamic Lighting has been a bit of a disaster…I’m starting to look elsewhere.

    • Hiya Vic! I am *loving* Foundry. I admit I’ve not GMed an actual game yet, but the prep has been very straightforward and the results just what I’m looking for. One nice bonus is that from the player’s end, it’s just like Roll20 — just log in to a website in a browser.

      The lighting (and audio) setup seems really fast and easy too.

      I’ll have another post once I’ve got everything exactly the way I want it and have a game in the chamber ready to go 🙂

      There is also a live Foundry demo server if you want to poke around a bit.

  3. Hey Mook
    I need some help regarding Items.
    For us who like to use GURPS, there is not much help to find, regarding looting dead NPC, buy/sell items in the GM’s World.
    Can you help me?

  4. Hey again Mook
    I have used many hours with Foundry VTT, and I look forward to use it, but I have problems regarding Items and bay/sell at a merchant, in a GM World.

    I do hope you or other GURPS fans can help me, with this problems, when I use Foundry VTT to have a social distance with my players.

    I look forward to hear from you.

    • Hi Martin! Sorry it took me so long to reply. As far as I know, there is not yet any major support for items, though I believe some are being worked on. Wish I had better news!

  5. I’m getting a compatibility risk when installing this on the latest stable release of FoundryVTT. Is that going to cause problems?

    • No, that shouldn’t matter. I’m using like 35 Modules, and fully a third of them are a “compatibility risk.” They still work fine, just haven’t had their version number brought up to date. Also note that the latest *stable* release of FoundryVTT is 0.7.9; the 0.8 series is still in alpha and being tweaked.

  6. Hi! I just installed all the random rollable tables using copy/paste from your code above. The line game.tables.getName(“Random Hit Location“).draw() doesn’t seem to do anything when I click on the created macro. Which is weird because apparently the code is correct and when I go to the random rollable tables tab and manually select the Random Hit Location table it also works fine. What am I missing?
    Best, Kai -and again thank you for all the effort taken to get GURPS into Foundry!!! This seems to save my gaming groups

2 Trackbacks / Pingbacks

  1. Gaming Online – Game Geekery
  2. FoundryVTT: An UNOFFICIAL GURPS Intro Pack – Game Geekery

Leave a Reply

Your email address will not be published.