[Plugin] Steam Workshop Accessor - Blueprint wrapper with full access

This is all the log gives me
SteamWorkshop: Error: FSteamAsyncObjectUpdateWorkshopItem::OnSteamCallback_OnlineThread(88): A parameter was invalid! Item: 1864817180

The update state handle says, “Preparing config” then “Invalid”

head scratch… its a result from the callback. Realy difficult to say whats the problem. Try a minimal test case with **Name, Icon, Content. **You sure that the Icon and the Content do exists during the upload process and is not modified?

Ive since resolved that error, though i seem to be running into a 50/50 error with the CCallbackInternal_OnWorkshopItemDownloaded.
Im using the callback to run a pak mount and load assets from it, according to the stack trace that callback runs through the online async thread which makes sense however since im loading assets from something called by it, it then crashs because its not running in the game thread.
My thread knowledge is minimal, is there a way to shift that callback so it requests to run the mount function on the game thread and not attempting to do so from the online async?

You can use AsyncTask within the callback. On of the parameters is the thread where you want it to excute.

https://docs.unrealengine.com/en-US/API/Runtime/Core/Async/AsyncTask/index.html

Hello, I am not sure if I set up correctly steam cloud for workshop’s preview images. When creating workshop item, last debug message before update failure says “updating content 100%”. Please help, thank you

Hey,

When I try to create an item, (using the same method you’ve posted here -

&d=1542153672 )
the Create Item fails with the return code “Busy”. Running in a standalone game, Steam overlay is working. Any ideas on how to address this?

Always difficult if the problem is on the Steam side of things. Does the item show up in the Workshop? It probably is empty when the update failed. I also don’t know why we as customer have to decide the content size/amount for the application users.

I can’t access the developer pages currently. This is the relevant section in the docs: Steam Workshop Implementation Guide (Steamworks Documentation)

Let me know if you need any more help.

Well, does it work now? Dunno why you should get that error, but if someone is busy, try later again. Maybe the workshop was getting maintanance at the time. If this error continues, you might need to contact Steam directly.

If it was your first try to upload to the workshop, this is for sure frustrating. If something does not work, you can always try a minimal example upload.

  • Item Name
  • Content
  • Preview Image

and make sure that the content to upload does not change during the process.

As long as steam does not return anything meaningful, I can’t help you.

am i doing something wrong for trying to track download percent?
it always gives me 0 out of 0 mb or 0% even when i can see it downloading in steam

im running a loop on a parent window that runs a function in each child to update its download

Thank you for tip about empty item that should exist. I was searching only workshop itself, but found it in my profile > workshop items . I found ton of items for testing game Spacewar, stupid mistake, I had my game id in game before, and working overlay, but it probably was some older version. Creating item is working now .Thanks and Sorry

Thats what I’m using. Didn’t do steam stuff for a long time now, but that was working on my tests. If you copy the code, make sure that you use a ReverseForEachLoop.

how do i for example use this downloaded item, and generate a level to open through it?

Always keep in mind that a workshop item is just a folder with files, just that, nothing else.

If you want to have a unreal level as part of the mod, you either need to ship your game as development version and copy the level asset into the project OR your need to create .pak files that you need to mount and search trough for assets. https://forums.unrealengine.com/deve…nted-pak-files

Hello, is there some safe way to get always right directory where Steam is installed? Please. Even when player installed both game and Steam to some custom directory? I need to access “steamapps\workshop\content”
Thank you

You can retrieve the install folder of a workshop item. From that you could extract the steam folder.

Hey, does this also mount loaded workshop .pak files and initialize them (e.g custom maps)

No it does not. We have our own Plugin to do that, though while writing it, I felt not conftable to expose it to the public as there might be problems that I would not be able to solve. If you have C++ capablities, search the forum and answerhub for “mount pak file at runtime”. As far as I remember, someone wanted to release a plugin to do that, but can’t tell you the name.

Hello! I can’t send the test item … I did everything according to the instructions and when sending I get the error “k_EResultAccessDenied”
I tried it through a clean project and through Spaswar, as well as through my worker (the game has already been released in Steam and everything is configured correctly)
I also tried to send it via StemСMD and everything turned out, but with the help of the plug-in, access is always denied …
What could be the problem?
Version 4.21

Does it fail directly after SteamWorkshopCreateItem?
Do you have UWorks installed?
AppIds correct in config file?
Check the SteamAppId.txt in your Project/Binaries/Win64 folder.

Yes, an error right after “SteamWorkshopCreateItem”.
Here’s how I check:
I create a clean project, turn on all the necessary plugins, enter all the necessary lines in DefaultEngine.ini, I create a primitive code to send the item to Steam by clicking on the “+” button (in my screenshot above this code), then click "Play Standalone Game “- Steam is loaded and I press the” + “button and get the message” AccessDenied "on the screen
(I also use the Steam Configurator plugin for comfort)