You could do this with
symbolic links on each computer that point at your NAS. However, that would be dependent on being on the same network. If you were to take your laptop someplace else Hero Lab would suffer errors when you start it up, since it wouldn't have access to your NAS.
In the past I experimented with using symlinks to files stored in a Dropbox instance. That way the file gets synced automatically and exists physically on both computers, and so they would be available both at home and away. However, I found this wasn't terribly reliable. It's been several years since I gave up on that approach because the symlinks kept breaking. Maybe Windows' implementation of symbolic linking has improved since then.
What I've been doing instead is using HLExport to generate update packages. Then I can get them through Hero Lab's built in updates mechanism. Using it takes a bunch of extra steps, unfortunately. It's not as simple as just saving the file and being done. Basically the steps work like this:
1) Do all the programming to create your .user files.
2) Go to Tools > Launch HL Export
3) It should already have the correct game folder selected. Double check that and hit Select Files. It will show you a huge list of files in the current game folder. By default
all of them are selected. Click "Select None" to clear the list.
4) Use the search box to locate the files relevant to your project: your .user files, any .1st files you may have, etc. Check each one, then click OK. Pro tip: take notes on which files to include, so that if you have to put out an update you don't forget one.
5) If your project contains finished portfolios for monsters, or custom output types, do the same process with those.
6) Set your Third-Party ID. This can be any string. I've got one called "Herisen" for my homebrew world. You need to use the same ID consistently across versions. Take notes on what your ID for the project is. It will remember the last one that you used, but if you have more than one project you'll need to keep track of what it was.
7) Set the name. This is a human readable string describing the package. This can, technically, be changed from one version to the next, but it's probably better to keep it consistent. Take notes..
8) Set your version number. Each time you generate an update you'll need to increment that, either the major or minor portion of the version number depending on how much work you've done. Notes!
9) Use the Browse button to choose an output location for your finished .hl file which will contain all your selected files.
10) Update the comments. These will be seen when someone gets the update.
11) Hit Generate. Congrats, you have a hero lab update file. But, sadly, you are not done.
12) Take your .hl file and put it in a web-accessible location. Getting a shared link from Dropbox or OneDrive would work. Personally I have a web server, so I use that.
13) Now you need to create (or update) an XML file that spells out some metadata about the update. Here's a copy of the latest update XML file from the World is Square rules:
Code:
<document signature="Lone Wolf Updates" version="1">
<update
name="WiSRules"
date="2021/02/24:2242"
size="13"
description="World is Square house rules."
uniqueid="0"
filetype="3"
download="https://meliogeny.net/square-world/world-is-square.hl"
website="https://meliogeny.net/square-world/"
companyurl="https://michaeliantorno.com/feat-taxes-in-pathfinder/"
priority="99"
major="1"
minor="6"
patch=""
folder="pathfinder"
special="WiSRules"
dynamic=""
/>
</document>
name and
special should be the third-party ID that you picked back in step 6.
date should use the following format: YYYY/MM/DD:hhii. That's the four-digit year, a two digit month (including leading zero for months lower than 10), a two-digit day (with leading zero), all separated by slashes. Then a colon, a two-digit hour (using 24-hour notation with leading zeros, so 1 AM would be 01, 1 PM would be 13 etc) and finally the minutes, again with leading zeros. I'm not sure if this follows any specific date/time standard, but that's how it works in HL.
size is the size of your .hl file in kilobytes. HL uses this to size the progress bar for your download. It doesn't need to be 100% precise. I usually set it to the closest full kilobyte, rounding up.
I'm not entirely sure what
uniqueid or
filetype do. I have always just left them at 0 and 3 respectively.
download is a web-accessible URL for your .hl file. Double check that that's right, because otherwise the package won't download correctly.
website and
companyurl don't actually get used in the update process, but there's no harm in setting them, and they should be self-explanatory.
priority I just leave on 99. I'm not sure what it does.
major and
minor are important; they are the major and minor sections of your version number, e.g. 1.6 is major 1, minor 6. You have to increment these every time you generate a new file, because together with the date, this is what HL checks to see if the version you're distributing is newer than the one it's got.
I'm not sure what
patch or
dynamic do.
Folder should be set to the name of the game folder you're exporting from (pathfinder, in this case).
With the XML created, stick it in the same web-accessible location as your .hl file and make a note of its URL.
Once you have that in place, you're done on the
sending side of the equation, but you still need to set up the
receiving end of things. That's done just like installing any third-party package:
1) Start Hero Lab.
2) On the Game Selection screen, click “Find Updates”.
3) Click the “Add Source” button.
4) Click “New Source”.
5) Enter the URL:
http://meliogeny.net/square-world/updates.xml
6) Click “Ok”, three times, then “Finished”.
7) Exit Hero Lab.
8) Restart Hero Lab. (This is to make it check the newly added source for updates!)
9) On the Game Selection screen, click “Find Updates”.
10) In the list of packages, find your package's name. Click it, then click “Download”.
11) Click “Start Import”.
12) Click “Yes” to acknowledge that Lone Wolf did not review these files.
13) Once it’s done importing, click “Ok”.
14) Click “Finished”.
15) Load the Pathfinder game system.
And there you have it, a nice, simple .... BWA, ha ha ha ha. Okay, I couldn't say that with a straight face.
There you have it, an incredibly complex, arduous way of sharing files between Hero Lab instances. The good news is that once it's set up it works very smoothly. The bad news is, it's a pain in the butt to set up in the first place, requires you to have web hosting someplace, and issuing updates requires generating a new .hl file and manually updating the .xml file, then replacing the old ones.
It only really makes sense when you're sharing files with a bunch of people -- say, you want to make your homebrew available to your entire gaming group because they all have HL licenses, or you're publishing your homebrew for general community use. If this is just for your own use, frankly it's simpler just to copy the files manually.