Sunday, June 1, 2025

Fantasygrounds Unity: Importing an NPC from a text stat block.

 Fantasygrounds has been my primary VTT of choice for many years now. For most of that time I have been running games using official WoTC D&D 5e campaigns. Recently, I have been working on a conversion of the classic D&D modules T1 - 4 The Temple of Elemental Evil which I purchased a number of years ago from DMsGuild

How I manage the conversion

In FantasyGrounds I create a new campaign to hold all the information from the original module and any additions I deem necessary and then export the campaign contents as a module to reference in the active campaign. I will not go into the details of this here, though if people are interested, they can let me know in the comments. 

There are some videos that cover this and many more topics here

This post is primarily for my benefit, to remind me of my process and in particular to let me remember, how I approached this, and some of the issues I had in the process and how I troubleshot those issues. 

The NPC character sheet in FantasyGrounds

The basic info on the NPC character sheet on FantasyGrounds Unity can be found here 5E NPCs and Encounters - Fantasy Grounds Customer Portal - Fantasy Grounds and pretty good introduction to text import of NPCs can be found here Using the NPC Importer

Some further information here Generating NPCs and Content for RPGs with AI Toolshttps://static.wixstatic.com/media/33b97f_7b4f32f552d54bc5b0ba0fd9459dcf15~mv2.png

I have a number of sources of NPC information, I can copy existing NPC statblocks and modify them and I can create an NPC from scratch by filling in the information directly into the NPC character sheet in FantasyGrounds or I can import text statblocks from D&DBeyond or other websites or pdfs I have purchased or that are freely available on the internet. 

A text NPC statblock can look like:

"Fred
Medium humanoid (human), Chaotic Good
AC 20
HP 30
Speed 30 ft.
Str DEX ........    etc"

Instructions for using the NPC importer can be found in the video linked under "Using the NPC Importer" which gives a very good overview of the process. The problems arise when this process does not work to produce a complete statblock.
These issues arise from the formatting of the statblock presented for import and how it deviates from what the import parser expects. 
There are 3 formats currently supported: "024 Core Rules " the expected default, the ""024 D&DBeyond" format and the ""022 Monsters of the Multiverse" format. I am not sure how the D&DBeyond format differs from the "Core Rules" version. 

The NPC stat block Import tool





The issue in that often any given third party statblock may not follow that format exactly.

One of the sources I was using for NPC statblocks is a conversion guide available from DMsGuild called "The Temple of Elemental Evil conversion guide with maps by Andrew James Woodyard and Eric Noa"

From the picture above one can see an example of an NPC statblock for import. Things to note for 2024 Core Rules the Armor Class is expected to be AC and Hit Points as HP followed by the number and so on. The issue I was having was that initially I had "Armor Class" and "Hit Points" and the initial sections were not parsing. 

The two panes in the tool are on the left the base statblock and on the right any world building or DM notes in the NPC.

Once I changed it worked until the parser got to the ability scores and then it failed, initially completely and then after some searching it would convert Str but nothing until traits.

An NPC character sheet that did not import correctly
A failed attempt to import. 

In this iteration I was getting as far as Dex before the parser failed. As one can see the Stats for Con, Wis and Cha are all 0

 
What I discovered that if one viewed the notes tab of the FantasyGrounds NPC Statblock it appends the Statblock to the Notes. 
See the image below. 
NPC Character Sheet with Notes Tab shown with an arrow.
NPC Character Sheet







Switching to the Notes table reveals that the Dex save shown on the right is the default derived from the Dexterity ability (12) of +1 and not the actual save in the original ability section from the text source.

This can be seen in the image of the notes section on the right, captioned "Elmo Notes".

Elmo Notes
Here the save modifier for Dex save is blank and that indicated that there are too many spaces in the ability scores block between the Dex modifier and the save modifier. 

Incorrect formatting in this section can result in a complete failure to import most of the statblock. An NPC record will be created but most of the information past the point of failure may not be imported.

What I have noticed is, it is very easy to get the ability score formatting wrong, and nothing gets imported or it skips the ability scores and the skills, senses and other parts of the NPC information between the ability scores and the traits section.

It is a matter of trial and error to correct this. Just delete the failed imported NPC records in Fantasygrounds. 

It is probably a good idea to set the NPC Group to "Uncategorized" when initially importing and then move the final version to the category it should properly occupy at the end. By initially importing into a category that is unpopulated or has a low population makes it easy to find the record that was imported. 

Keyword ordering is also important, for instance, my imports were not bringing in the XP value of the nps. Again, looking at the Notes tab version of the statblock makes this more obvious. Since I can see an XP entry but one with no value and then realized that the 2024 version places the numerical value at XP not before. 

 


Fantasygrounds Unity: Importing an NPC from a text stat block.

  Fantasygrounds has been my primary VTT of choice for many years now. For most of that time I have been running games using official WoTC ...