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.
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.
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
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:
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?
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.