Suggestion: Shared assets folder

Have a shared folder in the assets library that would be available to all the players from the same game ?
This would allow a DM to give access to some assets to everyone.

This comes from a discussion on Discord with @sunamon about why their player couldn’t see any of the assets (from the GM) in the library, and my answer was :

The isolation of your assets from your players is on purpose and acts as a security feature. If your player needs to set or upload a token or avatar, then they use their own assets library. Each free player has a 100MB quota which should be more than enough for all tokens and avatars they may want to upload. This isolation is also serving the purpose of preventing snooping players from looking at your own library to potentially access full maps or other stuff like that. I don’t actually plan on having a user get access to another user’s library. That’d be equivalent to having anyone access all your dropbox content if you share a document with them.

Perhaps having a “Shared” folder would be interesting to have for when a DM wants to have their music library or common tokens or something shared with all their players. But not sure if I’ll do it as things can be complicated (if user is not logged in because you’re using a public game, then none of this would work for obvious security reasons, but what if you own the license/table, but you’re not the GM, should everyone get access to every other player’s shared folder? etc… )

1 Like

I wanted to +1 this, and also share a use case that I have found annoying and might be solvable by this (or, potentially, a more narrowly defined) feature.

I GM a game and also play in a game. As a GM, I want my asset library to be highly structured so that I know where everything is and can find everything I need quickly. Playing in another game has made this difficult, as it results in a bunch of assets from the game I played in being unceremoniously dumped into the root of my Asset Library.

  1. The token and art for my PC in the game I play in, when uploaded on that game’s table, are stored in the root of my Asset Library.
  2. The assets for some modules seem to be dumped into the root of my asset library - fonts, CSS, and other assets from the “blood-and-guts” module active in the game I play in, for example.

I think I could potentially work around #1 by uploading the art/token from my computer to the PC, then move the files to a ‘player-storage’ folder or similar in my assets library manually, then go back to my PC (where the art would be broken) and re-attach from my asset library. That’s a pain though, and I don’t think there’s a way to solve #pf2e

Ideally (IMO) everything involved with the table where I play would be stored on that table in this kind of a shared repository that is accessible when on that table from the file browser but is not the same as the asset library I use as a GM.

A more narrowly scoped solution might be to allow me to specify a folder to store assets generated by each game I play in somehow and then save them there?

Not the biggest problem in the world, but it definitely annoys me daily and caused us to waste some time trying to figure out why an actor in the game I play in, with art/token I had uploaded, was still depending on assets in my library even though I didn’t own the actor.

Thanks man!

I’m not sure what you mean by assets being dumped into the root of the assets library, when you upload something in Foundry, it uploads it to the folder you are currently at, so you decide which folder to upload your files to.
I think maybe you’re referring to some module that auto generates token art or something and uploads it for you (like vtta-tokenizer maybe, or ddb-importer), in which case, I’m pretty sure that those modules have a setting for you to specify in which folder you want their uploads to be in.

Ideally (IMO) everything involved with the table where I play would be stored on that table in this kind of a shared repository that is accessible when on that table from the file browser but is not the same as the asset library I use as a GM.

That would mean that when playing in someone else’s game, or just even two of your own games , you won’t have access to all your other art that you might also need. The Assets Library is meant to create a separation so it’s one library per user, rather than one per game.

A more narrowly scoped solution might be to allow me to specify a folder to store assets generated by each game I play in somehow and then save them there?

Considering that the only way to upload content into Foundry that I know of is by clicking the “Upload” button or drag/dropping a file into the file browser in Foundry and it uploads to the currently displayed folder, then I think your “assets generated” that you mention is something that a module does and then I would suggest you check that module’s settings as it probably already has that option.

I hope that helps.

Hey, thanks for the response. That doesn’t match my experience, but I did some quick testing and the awkward behavior IS in fact module dependent - I’m open to the idea that it’s an individual module or Foundry problem and not something The Forge can/should solve. Here’s what I found:

  • Created a fresh 5e game with 0 modules enabled. Created a fresh free user with an empty assets library. Invited that user to the table, and connected. Assigned them a blank PC. Checked the user’s assets library, still empty.

  • As the player, attempted to change the token for the PC.As you specified, upload is only available when in the Assets Library tab, meaning a storage location can be selected. Default foundry with no modules doesn’t pose a problem.

  • Logged the player out of the table, then enabled the ‘Blood-N-Guts’ module on the server. Checked settings - no storage location setting.

  • Reconnected the player, and immediately saw several notifications about uploads to the assets library. Checked the player’s assets library, now contains a ‘blood-n-guts’ folder containing module assets.

  • Enabled ‘Tokenizer’ module v2.2.4 on the server. Checked settings - Tokenizer DOES provide a setting to specify token upload location. Specified as desired. Reloaded as the player. Checked settings - no Tokenizer setting for the client to specify an upload location.

  • Opened the PC actor and clicked the portrait icon - received a notification that the ‘Upload Files’ permission from the server was required. As the GM, provided those permissions.

  • As the player, again opened the PC actor’s portrait and got the Tokenizer UI. Uploaded images from my local machine for both art and token. No place in this workflow to specify an upload location. Saved. Checked the player’s assets library - art and tokens now sitting at the root .

Okay - summing up my thinking here. Nothing bad happens without modules so this isn’t a ‘Forge issue’ or anything obviously. I DO wonder where these files would be saved if I wasn’t using The Forge and was connecting to a private Foundry server via a browser… somewhere in the Users folder?

Open to the idea that these modules should be giving the client a setting to specify storage directory or something as a best practice and it is on them. It is really misleading that Tokenizer has a server-side storage location setting AND requires the server’s ‘Upload Files’ permission to function, but then just saves the completed assets to the player’s library? Not at all intuitive, and likely the source of my confusion here.

So yeah, maybe a module problem and I can go bug those developers. Given that there are lots of module developers out there, however, and they won’t all follow best practices even if defined (Tokenizer is, for instance, a really popular module!), I wonder if The Forge could do anything to help prevent this outcome when modules just throw assets at a default player directory? Or should I be looking to Foundry itself to do some enforcement of how modules can/should store files locally?

Appreciate your insight.