Menon Oct 7, 2020 @ 1:04am
Ability to edit app metadata and customise launch options
This is probably gonna be a bit long so feel free to start with the TL;DR sections.

What does "edit metadata" mean in this context?
TL;DR: Change Steam's data about a Steam game (not the game itself) like the title, controller support, etc.

Long version: It would mean being able to:
  • Rename my games/apps.
  • Give them/change their "sort as" names.
  • Show/hide specific launch options (what you see in the popup that allows you to run an app in different ways) and set 1 as default (for desktop shortcuts).
  • Add or remove apps to and from in-built categories like Controller Supported or VR.
  • Edit any other metadata that would be okay to change (vague, but I hope you get what I mean).

Why do I want this?
TL;DR: So I can organize my library better and be free from publishers configuring their Steam releases incorrectly or otherwise nonideally.

Long version: I've been using Steam for 7 years, and as much as I love the customisation options available (like changing a game's library art, categories, etc) the one thing I really can't do, is truly organize it.
Some examples of what I would do if I could; I would rename "ZONE OF THE ENDERS THE 2nd RUNNER : MARS / ANUBIS ZONE OF THE ENDERS : MARS"[steamdb.info] to something less obtuse like, "Zone of the Enders: The 2nd Runner - Mars", or give Ace Combat: Assault Horizon a "sort as" name like "Ace Combat 6.5" while retaining it's actual name so it's listed before Ace Combat 7 in my library (because it is older) as opposed to how it is now[i.imgur.com], Add Alien: Isolation to the in-built VR category (because there's a mod that adds it[github.com]), change Battlefield 4's controller support category to partial (because you cannot fully navigate the UI with a controller), change Skyrim: Special Edition's controller support category to full (because I've made it so), add launch options to Quake so I can run different[icculus.org] source[quakespasm.sourceforge.net] ports[fte.triptohell.info] through Steam without replacing the original executable and set one as default, ensure that Aliens vs. Predator runs the Dx11 version by default and remove the other options[steamdb.info] (because I'll never use them), etc.
I understand that any changes made app metadata will probably have to remain localised to a single machine/installation, and not affect what my status on Steam would say (for example) and I'm okay with that.

Are there other ways to achieve this?
TL;DR: Realistically, no.

Long version: Users could use a different launcher[playnite.link] altogether, but Steam is already so close to getting it just right. Users could add Steam games as non-Steam games as a way of renaming them but that is far from ideal for way too many reasons. Users could push devs/publishers and get them to fix inaccuracies, make changes, etc, but that's not going to happen within reasonable timeframes. You could also use SteamEdit[steamedit.tg-software.com] which does almost all of what I've mentioned, but its changes are lost when Steam modifies the Steam\appcache\appinfo.vdf file, which is quite often.

Conclusion:
I really hope we'll be given these options at some point, not just to solve the issue of inconsistent app metadata, but also because it fits Valve's evident ethos of letting users play the way they want to. PC gaming practically demands it.

Thank you.

P.S. Sorry about any typos or other mistakes I may have made. I'm sleepy and a bit frustrated after I just found out that Playsim renamed Croixleur Sigma to "[Old Edition] Croixleur Sigma" so I had to go down to the Letter "O" to find the game in Big Picture mode.
Last edited by Menon; Oct 7, 2020 @ 1:09am
< >
Showing 1-7 of 7 comments
bhooper clarence Oct 7, 2020 @ 1:12am 
.
Jonius7 Oct 7, 2020 @ 1:31am 
Originally posted by M E N O N:

What does "edit metadata" mean in this context?
TL;DR: Change Steam's data about a Steam game (not the game itself) like the title, controller support, etc.

...

You could also use SteamEdit[steamedit.tg-software.com] which does almost all of what I've mentioned, but its changes are lost when Steam modifies the Steam\appcache\appinfo.vdf file, which is quite often.
This is looking like your best bet here. Whoever created SteamEdit knows how the app info is stored locally.

I think adding the -autofix command parameter to when you start SteamEdit, might get around Steam overwriting your file changes to appinfo.vdf

If it doesn't, then the solution to extending this, involves detecting when appinfo.vdf has been modified and mod our changes back in automatically.

This seems to be the closest to an ideal solution, short of metadata customisations being supported officially by Valve and uploaded to the Steam Cloud, like our category customisation is.
Last edited by Jonius7; Oct 7, 2020 @ 1:32am
Menon Oct 7, 2020 @ 1:54am 
I have used SteamEdit for a very long time and it's great at what it does, but It's not a feasible long term solution. It also causes crashes with Steam beta clients and I really can't expect the dev to cater for that. He's already put in more work into it than he ever should have had to.

Originally posted by Jonius7:
I think adding the -autofix command parameter to when you start SteamEdit, might get around Steam overwriting your file changes to appinfo.vdf

The -autofix option force closes Steam and restarts it after restoring the changes you made, and doing that every time an app updates or does anything to reset appinfo.vdf, is quite the chore tbh. I've automated most of it but you still have to do it manually quite often.

Originally posted by Jonius7:
If it doesn't, then the solution to extending this, involves detecting when appinfo.vdf has been modified and mod our changes back in automatically.

It would be, but having 2 applications read and write the same file can easily corrupt it. That (or something close to it) has happened quite a few times in my experience.

Originally posted by Jonius7:
...short of metadata customisations being supported officially by Valve and uploaded to the Steam Cloud, like our category customisation is.

Which is basically I'm asking for. It's the only way left to go imo.
Last edited by Menon; Oct 7, 2020 @ 1:55am
Jonius7 Oct 7, 2020 @ 3:07am 
Hmm, looks like you've tried a lot already. How often does Steam modify appinfo.vdf, and under what conditions?
If I were to leave Steam open all day, would I find it changing multiple times?

Will the new modified app metadata only show on a restart of steam, or will it update if I reload the library.

If so, the Steam library can be reloaded without having to restart Steam entirely - End Task on Steam WebHelper will do it.
Last edited by Jonius7; Oct 7, 2020 @ 4:40am
Menon Oct 7, 2020 @ 3:25am 
Originally posted by Jonius7:
Hmm, looks like you've tried a lot already.

I really have haha.

Originally posted by Jonius7:
How often does Steam modify appinfo.vdf, and under what conditions?
If I were to leave Steam open all day, would I find it changing multiple times?

I don't know all the triggers for it, but I know for sure that an application updating will reset it, regardless of how big or small the update itself is. I'm pretty sure Steam\logs\appinfo_log.txt shows when it does, and yeah it will change multiple times in a day. It does for me at least.

Originally posted by Jonius7:
Will the new modified app metadata only show on a restart of steam - i.e. will it update if I reload the library.

If so, the Steam library can be reloaded without having to restart Steam entirely - End Task on Steam WebHelper will do it.

No, Steam.exe needs to be restarted for the changes you've made to be reflected in your library.
I think SteamWebHelper has more to with chat and rich presence in games but I'll test your theory anyway and report back.

Edit: It's as I suspected, force closing SteamWebHelper.exe (all instances of it) only refreshes the library.
Last edited by Menon; Oct 7, 2020 @ 3:57am
Well made post with good and valid points. I am looking forward to seeing this implemented!
tralph3 Aug 23, 2021 @ 10:17am 
Hi. I'd like to inform you that after speaking with Tim (the creator of Steam Edit) I managed to create an open source copy of it called Steam-Metadata-Editor, which doesn't limit itself to the GUI options, but also lets you view and edit all the metadata in a Steam app through a JSON file.

The main goal of the project was to make a proper Steam Edit alternative that worked with Linux. It also implements silent patching, but in a different way tha Steam Edit.

Steam Edit, as you said, refreshes Steam. My application doesn't touch the Steam process at all, it merely reads appinfo.vdf, and patches in the modifications you madr without touching anything else. Couple this with a script that starts Steam afterwards and your changes should stay.

By the way, Steam doesn't refresh the appinfo file nearly as frequent as in your case, and even when it does, it only changes a specific application, not the whole thing.

I saw this behavior a lot while developing the application. If I inserted a wrong hash or badly formatted data, Steam would update the file (with a pop-up and a progress bar saying "Updating User Configuration"), but only that specific application gets changed, not the whole thing.

Also... I noticed my configurations are not getting overwritten. It's been like a month since the last change I did, and it's still there. In that time, I bought other games, and Steam must have certainly touched the file, but, nothing, it's still standing. I'll add that I'm not running silent patching every time I open it, it just doesn't overwrite it. So that's cool.
< >
Showing 1-7 of 7 comments
Per page: 1530 50

Date Posted: Oct 7, 2020 @ 1:04am
Posts: 7