Skip to content

Allow instance/profile install folder to be changed #5825

@EthanRutherford

Description

@EthanRutherford

Please confirm the following.

  • I checked the existing issues for duplicate feature requests
  • I have checked that this feature request is not on our roadmap

What parts of Modrinth is your feature request related too?

Modrinth App

Is your suggested feature related to a problem? Please describe.

Modrinth App stores all of an instance's configuration in a sqlite database. This makes what should be simple modifications to an installed instance, such as just changing the folder name, practically impossible for the average user. There's really no technical reason an instance's install path can't be changed, but the sqlite table uses the folder name as the primary key, which is where the restriction comes from. However, there's no reason the primary key has to be the directory name (and in my professional opinion, it really shouldn't be the primary key).

Describe the solution you'd like

A minimal and straightforward solution would be to just update the table to use a standard auto index for the primary key, letting the path column be a normal data column. Then the instance dir could be easily modified within the app.
But to take a step further, there's nothing particularly "dangerous" in the profiles table that a user could break by modifying (that isn't already modifiable in the app anyway), nor anything that couldn't be inferred from the installation or defaulted to some value if missing or fixed with "repair instance". The configuration could be stored in the folder itself, which would make moving the instance around, for instance to move it to a NAS, store it in a synced google drive folder, copy it over a networked drive to a friend's computer, etc. "just work".

Describe alternatives you've considered

No response

Additional context

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions