I should implement modding support to our game already on Steam as Early Access, which should enable users to create and upload new game levels, and custom weapons. I think each mod should be a pak file, created with UE4 Editor by modders, probably using the DLC packaging method.
If I’m right, your plugin can handle such Workshop related up and downloads, isn’t it?
Moreover, is there any guidance how to move on this development? I mean how to package properly our own Editor for modders (it is a 95% Blueprint project with nativization), is it possible to hide some Bps or not… I have seen the pak loader plugin on Marketplace that could be needed too, and the ModSkeleton project on GitHub, but it would be great if someone with experience could give some hints, as it seems to be not a straightforward or easy thing, and I have not done editor extension modules so far…
The plugin handles the up and download, yes. But only at runtime and only in Standalone. Also you are **not permitted to ship/distribute it in source format to other users as it is a sold marketplace plugin. **
But you can create the plugin with your custom editor and then use your shipped game for the upload. Might be a bit tidious, but that what it is. Fact: For the application we are building we have a project for modders as well and wrote a small custom plugin specific for the upload.
**If you compile the plugin and only ship the compiled plugin with your custom editor, that is fine as well (no source files). **
You can distribut your MOD-PROJECT (not editor) as Steam Tool that is linked to your application. This way users will get automatic updates. The Editor is sole property of Unreal and you are not permitted to ship a custom editor either. If you realy need custom editor build, you need to distribut the editor via Unreal Launcher (like ARK etc) (not able to find the mod section in the Launcher anymore)
Thanks for the quick answer!
I know the legal limitations of plugin distribution, ofc it is not planned with code, we use some other plugins…
If it works only in Stadalone mode, maybe not suitable for us. But using a modding project, and copying the cooked pak file from there to the installed game’s Mod folder and making the upload from the game could work! Maybe this copy can be solved with some scripting too, to help modders a bit…
Did you add that custom plugin for upload to the modding project?
And is that project a stripped down version of the game?
(As I have read, a custom Editor can be distributed not only by Epic via the Launcher, but also on GitHub, if you fork Unreal Engine, and place it there, this way the EULA is accepted by downloader modders, who need UE4 anyway)
We are at the beginning of the process, to find the best and fastest and ofc cheapest solution, so any idea welcome
Yes, the custom upload plugin was written specific for that and does only whats realy needed.
As the main project contains lots of other plugins, we can’t ship the project as it is. Stripping it down would leave nothing. We have a SharedWithModkit folder that contains assets that seem usefull for modders but do not have any reference to assets outside this folder.
In our approad the modders can’t modify anything. They can only provide assets (maps/materials) in specified folders that the game will look for and provide access to at runtime.
Okay, maybe they removed the mod editors from the launcher entirely to have less work with it and faster pipeline for people who want to provide one.
Look into how ARK does modding with their custom editor. They have an asset that the modder needs to include in their mod. That asset is scanned and parameters read out. The parameters are fix for sure, but this way the mod can give things to the main game that need registration and so on.
How would I go about using the query to get all created items by a user and all subscribed items for a user? I tried using the Filename filter and the tag parameters but I can’t figure out how to build the query properly. The Steam Workshop Query for User Items seems to return all items I’ve created and then a whole bunch of other one’s that appear to be from another game.
I’m uploading .sav files to my workshop and I was wondering if there is anyway to grab the content inside the folder of a subscribed/downloaded workshop item?
Hello, I recently bought your plugin, very cool !
But I have problem for upload to workshop. Always “R_Fail” return in print string (node: Steam Workshop Create Item)
I search in log and I found that:
[2020.04.11-16.49.43:313][297]SteamWorkshop: Error: FSteamWorkshopManager::ValidateItemContentDirectory(497): ContentDirectory does not exist!
[2020.04.11-16.49.43:313][297]SteamWorkshop: Error: FSteamWorkshopManager::CreateWorkshopItem(1013): Validation of upload details failed!
[2020.04.11-16.49.43:313][297]LogBlueprintUserMessages: [Workshop_Upload_C_0] R Fail
I try with many files in my disk, I always have this log error.
I test with and without extension (e.g file and file.png)
I can’t do that via the marketplace as it allows only the last 3 versions. Also there is a API update from UE4.22 to UE4.23 of Steamworks. There is basically one change in a return type (additional Item Id) that I did not version correctly, as it would create some ugly code stuff.
UE 4.23/UE4.24 was updated.
Your best bet is to merge the files. You can use WinMerge programm for that.
The not versioned change is in SteamWorkshopAsyncObject.h somewhere in the middle of the file.