Facepunch / Facepunch.Steamworks

Another fucking c# Steamworks implementation
MIT License
2.85k stars 344 forks source link

Ugc.Query does not provide setters for creatorApp or consumerApp #685

Open kornman00 opened 1 year ago

kornman00 commented 1 year ago

Describe the bug I hope the title is clear and concise enough.

To Reproduce Steps to reproduce the behavior:

  1. View latest code https://github.com/Facepunch/Facepunch.Steamworks/blob/master/Facepunch.Steamworks/Structs/UgcQuery.cs#L15
  2. Search "creatorApp" or "consumerApp"
  3. Observe there are no ways for the caller to explicitly set these, while consumerApp will implicitly use SteamClient.AppId when it is zero and then creatorApp will be set to consumerApp when zero too.

Calling Code https://github.com/Facepunch/Facepunch.Steamworks/blob/master/Facepunch.Steamworks/Structs/UgcQuery.cs#L15

Expected behavior When you're using this wrapper to implement a Workshop tool that publishes for a different app (the game), one needs to be able to set these individually. The Workshop tool is the creatorApp, and the game is the consumerApp. So without APIs to set these existing fields, this throws a wrench in things.

Desktop (please complete the following information):

Additional context If no one else takes the time to address this, I'll probably set aside time in December to throw up a PR for adding some APIs which are needed here (WithConsumerAppId, etc as it appears that is the pattern used elsewhere).

MarshMello0 commented 5 months ago

A long shot with how old this is: I assume you never got around to it?

I've attempted to just fork it and add the ability to set these values however Steam always returns 0 items when I pass two different apps. One for consumer one for creator.

MarshMello0 commented 5 months ago

For future searches: Okay so it turns out even though it had access to list workshop items from another app. It will only show ones that where uploaded from the tool. Not ones uploaded from the app.

Once I uploaded a workshop item from my tool to the app. Querying for all users published items from the tool only returned that one I just uploaded, when there was 3 others uploaded directly from the app.

Also another intresting note I found when researching, aparently you can only get the users published stuff across apps.