Skip to content

Library Sharing / Multi-user support #5152

@HazardousBackup

Description

@HazardousBackup

Problem description

Currently, it is difficult to find a way to easily share libraries/games managed by Heroic between users (at least on Linux).

The contents of the game library itself can be shared by making sure it's in a location with appropriate permissions for both users. However this doesn't include the information needed to launch the games as they'd been configured i.e. Steam Runtime, Wine, or other scripting.

This is an issue for at least two cases that I can think of:

  1. Shared computers - if a computer is being shared between multiple people, they might like to share games. Currently there is no mechanism that I see to handle that cleanly
  2. Someone (like me in this case) making a locked down user that can just be used for games and I want it to be able to fire up anything I've installed on my main account.

I separate them because they have slightly different requirements. For example, with 2, you might share your userdata folder or shortcuts.vdf between users so that you can launch everything with Steam and you'd want things like your saves to cross-over between the users.

Feature description

Ideally, what I'd like is to be able to go over to that other user account, select the folder that holds those games, and import them into the other copy of Heroic with an option to share saves or keep them separate. When doing this things like the "appName" from the Steam launch options would be made the same, and the Heroic launch options would also optionally be ignored, imported, or synced.

I could see this being accomplished in multiple ways. Including a few that would work for my particular case but not as nicely for the other case but here are the 2 main ones I can think of atm:

  • Include metadata about the game and launch options inside the install directory or Wine prefix that another instance of Heroic can grab onto on import - should work great for 2 and should work great for 1 as long syncing with Steam can be disabled library wide (otherwise shared shortcuts.vdf files would have issues)
  • Add a script with the launch options into the install directory and give an option for Steam to call it directly instead of heroic - sufficient for 2 but 1 would need manual work for every new game.

Alternatives

While working on my use case, I explored trying to use a unified folder and shared configurations to mirror Heroic across the users but found that there are some absolute paths that crop up fixed in the main user directory.

As it stands, I see no option that wouldn't require users in either case to manually dig through their Heroic games folder to launch them and manually reconstruct launch options such as if a game needs Steam Runtime and manually re-add them to Steam each time there is a change.

Additional information

For a comparison, Steam seems to actually support this rather easily on Linux. One can create a library folder that the main user installs to, bind mount it over with user mapping, and add the folder to the library of the other Steam instance. If those games are meant to be accessible they'll get autodetected as installed and be usable just fine. I don't have the means to test but this would likely work for Family Sharing too.

This might serve as an ideal model of how it can work.

Metadata

Metadata

Assignees

No one assigned

    Labels

    feature-requestNew feature needs to be implemented.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions