Nexus-Mods / Vortex

Vortex Development
GNU General Public License v3.0
878 stars 129 forks source link

Suggestion - Mod Staging Folder can't be set globally #3042

Closed VortexFeedback closed 3 years ago

VortexFeedback commented 5 years ago

Vortex Version: 0.16.15 Memory: 7.95 GB System: win32 x64 (10.0.17763) Or at least it doesn't seem to be, maybe I'm missing something?

Every time I add a game I have to change the staging folder directory to my D drive. It seems like it could easily be applied to every single game. But when I open settings it's set to whatever game I viewed last, with no way to change it to a different game or all.

Reported by: Obscerno

Iloei commented 5 years ago

I also have encountered this issue.

It seems that since the hardlinking method requires deployment to a specific drive that the ui should make it easier, not harder, for to put mods on that drive...

Not a huge issue, but an issue nevertheless.

TanninOne commented 5 years ago

Vortex can't make it easy to put mods on drives other than C: because there is no standardized directory structure outside C: You will always have to manually set the folder if you have more than one drive letter, that's how Windows rolls. And letting you set one folder for all games doesn't work because plenty of users have games distributed among different drives.

The only option I see is letting you set up a default staging folder per drive and then vortex uses those automatically, so you could set up c:\vortex mods and all games on C would use that for their staging folder. Then you could set up d:\vortex mods and all games on D would use that. And so on.

But: I made that proposal months ago on the forum and everyone who commented was against it.

If we're honest: even if you manage mods for 10 games, we're still talking about a minute or two to set up these staging folders, it's not like this is a lot of work.

Kayden3 commented 5 years ago

Vortex can't make it easy to put mods on drives other than C: because there is no standardized directory structure outside C: You will always have to manually set the folder if you have more than one drive letter, that's how Windows rolls.

That is farce. The program can be set to default there sure but a program can be told to put the directory somewhere else after the initial setup. This is an important feature for me and probably many others due to the fact my C is for our OS only and we put games on other drives. Especially when people have a slow inet speed, shared PC, the C is a low capacity SSD but the gaming drive is much larger HDD and ETC. This is a feature we do need if people are going to migrate over. QOL is important but certainly not a top priority but should be considered.

TanninOne commented 5 years ago

That is farce. The program can be set to default there sure but a program can be told to put the directory somewhere else after the initial setup. This is an important feature for me and probably many others due to the fact my C is for our OS only and we put games on other drives. Especially when people have a slow inet speed, shared PC, the C is a low capacity SSD but the gaming drive is much larger HDD and ETC. This is a feature we do need if people are going to migrate over. QOL is important but certainly not a top priority but should be considered.

I think you're missing the point of this thread. Vortex already allows you to change where Vortex stores mods, it had this feature from the very first release. This issue is just about an automatism that might save you a few seconds when you start managing a new game.

Kayden3 commented 5 years ago

That is farce. The program can be set to default there sure but a program can be told to put the directory somewhere else after the initial setup. This is an important feature for me and probably many others due to the fact my C is for our OS only and we put games on other drives. Especially when people have a slow inet speed, shared PC, the C is a low capacity SSD but the gaming drive is much larger HDD and ETC. This is a feature we do need if people are going to migrate over. QOL is important but certainly not a top priority but should be considered.

I think you're missing the point of this thread. Vortex already allows you to change where Vortex stores mods, it had this feature from the very first release. This issue is just about an automatism that might save you a few seconds when you start managing a new game.

Are you sure? The OP said "Every time I add a game I have to change the staging folder directory to my D drive. It seems like it could easily be applied to every single game. But when I open settings it's set to whatever game I viewed last, with no way to change it to a different game or all."

I believe you want your scenario to fit so your can feel vindicated. The OP and myself want Vortex to allow a default directory, how it can be handled is open for debate, but you pointed out it can't be done when you later contradicted yourself by saying it could be defaulted to a dir per drive. In short you said it can't be done, than you suggest a system wide predefined fix and then say I'm missing the point?

Here is the point you're missing, when you have games installed on separate drive(s) for whatever reason, it's an additional step the end user has to take every single time. I don't know how you do things but I'd rather play a game and make things go as quickly as possible, not fiddling with setting after setting to migrate all 20 of my games I used NMM on, that did allow the directory to be automated btw because it remembered where other mods were put, so for us to have to take extra step for each and every single game by making dir after dir is TIME CONSUMING.

How you can honestly think I missed the point is beyond me. I get it, people want to save time, your saying deal with it cause you don't need it. Well we aren't you and probably have more games to care about so automating something that takes additional time is frustrating when other programs all ready do it. Besides the dev's want suggestions so stop trying to tell people that they're wrong for wanting something you don't like. That isn't how suggestions work.

TanninOne commented 5 years ago

Mate, you are completely out of line and unless your next post is an apology, don't reply.

To clarify my previous posts: a) I can't automatically install to a drive other than C, it would always have to be set by the user b) It would have to be a separate dir for each drive, each of which users would have to set manually.

That's not a contradiction, if you think it is you should spend more time reading what people wrote and less being rude.

c) I proposed this exact change on the forum more than half a year ago and no one said they liked it. You didn't say you want it. That's why we scrapped it, that's why it's not in Vortex now and can't be added until the next mayor release (2.0) because it would require us migrating the user database.

Also: a) I don't need to be vindicated because I don't need your approval. I took the time to explain why I'm not implementing the feature, at least not in the way the OP requested (or how I read the request) because I want our development process to be transparent. I could just have said "no" and closed the issue. So don't you think I'm doing this because I somehow need to convince you, I'm just telling you. b) NMM used a messy mix of symbolic links and actual file copies to work around the limitation that Bethesda games don't accept symbolic links for certain file types. That, combined with NMM being run with admin rights allowed them to have a single "staging" folder for all games no matter where they are installed. The drawback was, apart from that lack of security, added disk usage and slower "deployment" that it was harder to clean up which then lead many users to broken setups. We decided for Vortex that a bit of convenience wasn't worth all those drawbacks and went a different route. Again: I'm not trying to convince you or need your approval, I'm just telling you why we decided to go the way we did. c) You also seem to be missing that I am the Vortex dev (well, one of two). I'm not telling you why I don't like the feature, I'm telling you why I, the dev, can't do this exact feature at this time.

VortexFeedback commented 5 years ago

Vortex Version: 0.17.11 Memory: 23.95 GB System: win32 x64 (10.0.17763) Now that I've installed vortex, I'm importing my games... And it keeps wanting to set my staging folder to something like C:{userdata}{game}\mods... Which I don't want - I'd rather it be D:\Vortex{game}\mods (for example)

It'd be nice if could set a default that applies to all my games at once, rather than having to handle them one at a time when it complains.

I know I set up some folders when I first set up vortex, but I don't remember what it was, or how to get back there. And that may be what I need, and the links just need to be bigger/brighter/easier-to-get-to :p

Thanks

Reported by: gorilla42

VortexFeedback commented 5 years ago

Vortex Version: 0.18.16 Memory: 15.94 GB System: win32 x64 (10.0.18362) A global staging setting needs added to the Mods section for easier consumer setup.

This setting would set a global base path for the mod staging folders. Setting should still be individually overridable with the normal mod staging path variable. Global path variable would need an included warning about changing it.

Easiest implementation would be to allow {USERDATA} to be overridden globally. Best implementation is to use another variable and allow user choice in default for newly added games.

This is to ease setup on machines with multiple harddrives. With the prevalance of SSDs and the best practice of using a separate drive for data, the ability to change these variables globally prevents accidents when the user forgets or does not understand that they have to manually change the mod staging folder every time they wish to mod a new game with vortex. Additionally, this behavior was implemented in NMM and those users may expect this functionallity.

Reported by: corrannat

GregariousJB commented 4 years ago

I agree with @Kayden3 - both that this feature would be very useful and that @TanninOne is misunderstanding.

Though maybe not simple on the backend, a simple frontend solution might be a button saying, 'Apply Globally' beside the 'Suggest' and 'Apply' buttons in the Mods tab. Or maybe a checkbox that reads "Use this mod staging folder for all future games'.

VortexFeedback commented 3 years ago

Vortex Version: 1.3.8 Memory: 11.90 GB System: win32 x64 (10.0.19041) Please can we have the option to set a default mod staging folder for all games e.g. D:\Games\Vortex Downloads\Mods{GAME} as we can with downloads D:\Games\Vortex Downloads\Downloads{GAME}

Reported by: Oxii

aaronth07 commented 3 years ago

Bump, this is a must have feature.

TanninOne commented 3 years ago

Closing this as no one is actually addressing the issues I've described. Problems don't go away just because you ignore them.

GregariousJB commented 3 years ago

The only option I see is letting you set up a default staging folder per drive and then vortex uses those automatically, so you could set up c:\vortex mods and all games on C would use that for their staging folder. Then you could set up d:\vortex mods and all games on D would use that. And so on. - @TanninOne

To clarify my previous posts: a) I can't automatically install to a drive other than C, it would always have to be set by the user b) It would have to be a separate dir for each drive, each of which users would have to set manually.

You seem to have addressed it yourself, twice - allow it to be set by the user.

Any other contributors able to chime in here? @IDCs perhaps? Am I incorrect in thinking this suggestion was closed for an emotional reason instead of a logical one?

TanninOne commented 3 years ago

I said it above: I proposed that solution publicly on the forum in a thread that was read by thousands of users and all who commented and my colleagues disliked that solution. What would be the look if I ignored those users because in a thread on github read by a few dozen at best there are one or two users who agree with me and I decided to go with that?

The reason I left this issue open for over a year in the first place was because I thought maybe someone came up with a constructive solution we hadn't thought of yet but we're not doing votes on github so if all that comes out of a year of having this open is a bunch of thumbs up and thumbs down this issue is pointless and me having to monitor it is a waste of time.

Besides: It's way to fundamental a change to do in a minor (1.x) update anyway. There will be a Vortex 2 and I promise this topic will be raised again then but the decision isn't mine alone.

GregariousJB commented 3 years ago

Could I trouble you to get a link to the forum thread? It's difficult to imagine why anyone would be against additional, convenient functionality like this, especially when I believe more and more people are adding secondary hard drives to store games.

Regardless, I appreciate your work on this project.

TanninOne commented 3 years ago

https://forums.nexusmods.com/index.php?/topic/6629301-opinions-please-moddownload-directories/

At the time the download directories were all individually configurable so the discussion mostly revolves around that but the possibility of making a similar move for staging (not yet called "staging" at the time) was there.

GregariousJB commented 3 years ago

Correct me if I'm mistaken - I just skimmed over your solutions and responses in that topic, most of which prefer "Solution B", which as you put it, "you configure your download directory once and all games use the same directory."

Isn't that what this issue is suggesting? Having a way to set a default download/staging directory for all games by setting it globally?

IDCs commented 3 years ago

Hi @GregariousJB, unlike game staging folders, the downloads folder isn't meant to be deployed anywhere which means we don't have to worry about breaking existing links/deployments when moving that folder. Having a global staging folder would be a nightmare as moving the staging folder from one partition to another would (at the very least) make certain deployment methods unavailable for some games until the staging folder gets moved back again - I think it's critical that each game has its own staging folder location fully customizable and independent of other staging folders as it is right now.

But what I think you guys are suggesting is basically to have an additional input box that would allow users to configure a preferred path which Vortex would attempt to use as a staging folder for any newly managed game instead of the current "{USERDATA}{GAME}\mods" default path ?

GregariousJB commented 3 years ago

But what I think you guys are suggesting is basically to have an additional input box that would allow users to configure a preferred path which Vortex would attempt to use as a staging folder for any newly managed game instead of the current "{USERDATA}{GAME}\mods" default path ?

Yes. I agree that changing all staging folders at once would probably fail miserably, so just being able to change all future folders would be much better, and having a different default path would solve that.

It might not need to be an additional input box, because you'd need to have it there for every game. Perhaps something cleaner would be a single button or checkbox that says something like "Use this folder for all future staging locations" or "Set this folder as default".

Thanks for clearing that up, @IDCs. I understand if this isn't a top priority and wouldn't be available until Vortex v2.0. Just want to make sure that the suggestion itself and its desire is understood.

TanninOne commented 3 years ago

As IDC said, we have no reason to put downloads on different drives, with staging we may not have an alternative. As said above: Some games do not support symlinks, the staging folder for those has to be on the same drive as the game. It doesn't matter whether they were installed before or later, there is always the chance that your "global staging folder" is on D, the game is on E and doesn't support symlinks and then we can't use the global staging folder and the user has to configure after all. Besides: Even for games where symlinks are supported, hard links are the more robust choice because a) they don't require admin rights to create and b) even if the game supports symlinks, modding tools may not.

That is why I would prefer the solution described above, putting staging always on the same drive as the game and just having the user set up one staging folder per drive (per drive that contains games). If you have just one game drive: fantastic, you only have to set up one staging folder.

But that solution was not supported back when we had the choice to change it and now we have to consider the amount of work and potential for disaster a migration might bring with it.

Squall-Leonhart commented 2 years ago

The global staging folder should default to a simple custom class that substitutes {GameInstallDrive} with that of the game being added as managed, {StagingFolder} created directly on the drive root as VortexMods and then {Game}, it'd take less than an afternoon to implement and would need very little testing.

It should not in any way shape or form be {USERDATA}, which 90% of users have no idea exists.

GreenMan36 commented 1 year ago

I'd like this, I have more than 200 games installed and it takes a LOT of time to change the folder for each one I want to mod, which is most games because mods are awesome.

I don't fully understand how changing C to D or E would break things? The only thing is that some games may require a Symlink instead of a hardlink but the client could be setup to have an alternative default path? Maybe show a warning to the user? Right now I just manually do it and figure out "oh this game doesn't work" and move it to the same game's drive. Maybe it could be a implemented differently, {gamedrive}:\ perhaps? That would solve that issue.

My issue is that my Windows drive isn't my game drive. I have a raid0 setup for my games and a SSD for my next gen AAA games that benefit from faster IO. So {gamedrive}:\ would be perfect for me!

Just trying to think of some things, feel free to correct me or discuss any issues you see with this.

K3nny567 commented 2 weeks ago

Sorry to necro this issue once again, but wouldn't the simplest solution be to let the user change what the default suggested path is?

IDCs commented 2 weeks ago

This is actually already implemented and can be configured via the mods tab in the settings page. Vortex can allow you to use the "suggested path" by default, and it will generally try to apply the hardlinks deployment method, which can potentially move the staging folder to another drive automatically.

image
K3nny567 commented 2 weeks ago

This is actually already implemented and can be configured via the mods tab in the settings page. Vortex can allow you to use the "suggested path" by default, and it will generally try to apply the hardlinks deployment method, which can potentially move the staging folder to another drive automatically. image

That doesn't let us customize the default path that gets suggested though. It would be convenient to set it once and then have that become the suggested path. ie: Instead of {drive}\Vortex Mods\{game} being suggested, we could change it to {drive}\Vortex\Games\{game}\Mods or something.

I personally prefer {drive}\Vortex\Mods\{game}, as I then have the Downloads folder set to E:\Vortex\Downloads and have a secondary copy of games for modding in E:\Vortex\Games (so Steam can update games without breaking modlists) Drive E: is my dedicated Games drive and also has the most storage space available.