Is ugc plugin for unreal 5 working?

2>[1/4] Compile Module.SimpleUGCEditor.cpp
2>C:\Git\thirdparty\UE5-SimpleUGC\Plugins\SimpleUGC\Source\SimpleUGCEditor\Private\SimpleUGCPackager.cpp(172): error C2664: 'void IUATHelperModule::CreateUatTask(const FString &,const FText &,const FText &,const FText &,const FSlateBrush *,const TArray<FAnalyticsEventAttribute,FDefaultAllocator> *,IUATHelperModule::UatTaskResultCallack,const FString &)': cannot convert argument 6 from 'FSimpleUGCPackager::PackagePlugin::<lambda_04bd8b0a342317cf58f95f8d8fe257d6>' to 'const TArray<FAnalyticsEventAttribute,FDefaultAllocator> *'
2>C:\Git\thirdparty\UE5-SimpleUGC\Plugins\SimpleUGC\Source\SimpleUGCEditor\Private\SimpleUGCPackager.cpp(181): note: No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
2>U:\UE_5.1\Engine\Source\Editor\UATHelper\Public\IUATHelperModule.h(46): note: see declaration of 'IUATHelperModule::CreateUatTask'
2>C:\Git\thirdparty\UE5-SimpleUGC\Plugins\SimpleUGC\Source\SimpleUGCEditor\Private\SimpleUGCPackager.cpp(172): note: while trying to match the argument list '(FString, FText, FText, FText, const FSlateBrush *, FSimpleUGCPackager::PackagePlugin::<lambda_04bd8b0a342317cf58f95f8d8fe257d6>)'
2>[2/4] WriteMetadata UGCExampleEditor.target cancelled
2>[3/4] Link UnrealEditor-SimpleUGCEditor.lib cancelled
2>[4/4] Link UnrealEditor-SimpleUGCEditor.dll cancelled
2>C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Microsoft\VC\v170\Microsoft.MakeFile.Targets(44,5): error MSB3073: The command "U:\UE_5.1\Engine\Build\BatchFiles\Build.bat UGCExampleEditor Win64 Development -Project="C:\Git\thirdparty\UE5-SimpleUGC\UGCExample.uproject" -WaitMutex -FromMsBuild" exited with code 6.
2>Done building project "UGCExample.vcxproj" -- FAILED.

:cry: wish i could contribute but me stupid. Me sad. In all seriousness tho, this is quite a complicated plugin. Epic should integrate this! Modular Gameplay Features is nice and all but its not really for mods. At least, its certainly not as powerful.

Created a pull request for the fix here:

https://github.com/TheHellcat/UE5-SimpleUGC/pull/3

Now compiles fine for 5.1, everything works as expected. Thanks again for this, Hellcat. You rock.

5 Likes

Awesome! But now the question is… do you have any idea if this works out of the box with 5.2 as well? :sweat_smile:

Also, do you think the Game Features Plugin can be used as a replacement for UGC plugin?

It kinda works with 5.2. I had to add a nullptr in a function call (IUATHelperModule::Get().CreateUatTask in FSimpleUGCPackager::PackagePlugin) to make it compile but then it worked. DebellicA’s correction may work too but I have not tried it.
It would be great to fix the button to export the package (right now, it wants to compile but it still requires the source version of the engine), to have it make a clean zip at the wanted spot but hey, zipping manually isn’t a huge issue :stuck_out_tongue:
There may be a way to not use the custom editor since it’s nice to make mods but not ideal to make the proper game, although we need some of the plugin new files.

Same here, the parameter OptionalAnalyticsParamArray for CreateUatTask was not there before, so it needs to be set to nullptr. (Unless you guys want to do analytics events)

I could compile debellica’s corrected fork with a binary version of Unreal 5.2.1, but the mod loading doesn’t seem to work.

What I did was open the project in Unreal 5.2.1, package the project, create a mod, add a map to it, then package the mod, copy it into the aforementioned packaged build of the project as described in the usage guide, and lastly run the packaged build, but the mod doesn’t show up as a UGC package like it’s supposed to.

This here is the entire packaged content of my example mod, containing a grand total of one map and nothing else:

This is where I start the game from:

And as you can see, the game fails to recognize this mod:

Did I perhaps make a mistake somewhere?

I suspect that your setup with a prebuilt version is the issue.

I personally recompile the entire engine. it works in 5.2.1

Thanks for your reply @Karton, I would’ve probably given up on the project if it wasn’t for you. Through trial and error I found out that I need to put my packaged mod into both /Path/to/your/packaged/game/Windows/UGCExample/Mods and /Path/to/your/packaged/game/Windows/UGCExample/Content/Paks/Mods
at the same time in order for them to appear in the list of UGC packages.


I don’t know if it’s really intended to have your mod in two places at once but if I delete my mod from one of these two locations it doesn’t show up in the list of UGC packages anymore.

@Karton I’m really curious to see how you are using the UE5 UGC project, do you also place your mods in two different locations?

No, just in /Windows/UGCExample/Mods…

The nuclear option for you (and I think I’ve done that at some point) would be to look in unreal source where are mods (plugins) discovered.

Looking at my engine tweaks, I had a good look at Engine/Source/Runtime/Projects/Private/PluginManager.cpp, specifically void FPluginManager::DiscoverAllPlugins()

if you read this class and understand how it registers the mods/plugins, you can go through it with the debugger and diagnose your weird issue.

1 Like