Is ugc plugin for unreal 5 working?

Before downloading all the source and compiling, I would like to know if it works. :sweat_smile:
Someone has tried?

5 Likes

Bump, same question here.

1 Like

Hi.

No, it doesn’t work.
A lot of things and engine internal APIs, it uses, have changed in UE5.

However, since I want to use it for our own UE5 based project, myself, I am currently trying to fix everything and make it work with UE5 - making decent progress so far :slight_smile:

7 Likes

Hi, I’d also like to use UGC in UE5 any update on getting this to work?

Hi!

Actually, yes - I pretty much got everything that worked on UE4 working on UE5, by now. :smiley:

I just need to find some time to clean up some mess I created during porting and testing out stuff, lol, and then I push it all to GitHub.

I also have plans to keep working on this, like changing the UAT commands for packaging the mods, so a source build of the engine isn’t needed anymore and a few more ideas I wanna try to implement.

Though, one thing I spent a lot of time researching and haven’t found any solution yet, is how to get C++ code built and packaged into mods, so far it only works for BP only mods (it’s like this on the original UE4 SimpleUGC, as well, but that’s really something I’d love to be able to add
).

5 Likes

Can’t wait to see how you did it and use your github repo for ugc in ue5 :heart:

You rock! Let me know if you have a Patreon or something similar where I can show gratitude.

Aw, you’re too nice to me :blush:
But actually
 I don’t have any of that :grimacing:

BUT, what I do have now, is a GitHub link:
https://github.com/TheHellcat/UE5-SimpleUGC/tree/main
(the usual applies: “you need engine source access to be able to access this repo”)

^ that’s my current version of the SimpleUGC plugin and sample project for UE5 - please consider this still to be highly “work in progress”, but I just tried it out and it seems I haven’t broken anything in the prep for the push.

9 Likes

Very much appreciated. I have been holding back from migrating my project from 4.26 to 5.0. Seems like I can finally give it a shot.

Cool :slight_smile:

If something doesn’t work, let me know and I’ll try to fix it.

1 Like

Hi hellcat, When I followed your github instructions and started compiling Automation Tool, I got an error on my Visual stuido:

1>------ Build started: Project: SimpleUGC.Automation, Configuration: Development Any CPU ------
2>------ Build started: Project: Turnkey.Automation, Configuration: Development Any CPU ------
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(1718,5): error : Project 'F:\Work\JOB\UnrealEngine503\Engine\Source\Programs\AutomationTool\AutomationUtils\AutomationUtils.Automation.csproj' targets 'netcoreapp3.1'. It cannot be referenced by a project that targets '.NETFramework,Version=v4.6.2'.
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(1718,5): error : Project 'F:\Work\JOB\UnrealEngine503\Engine\Source\Programs\AutomationTool\Scripts\AutomationScripts.Automation.csproj' targets 'netcoreapp3.1'. It cannot be referenced by a project that targets '.NETFramework,Version=v4.6.2'.
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Current\Bin\Microsoft.Common.CurrentVersion.targets(1718,5): error : Project 'F:\Work\JOB\UnrealEngine503\Engine\Source\Programs\UnrealBuildTool\UnrealBuildTool.csproj' targets 'netcoreapp3.1'. It cannot be referenced by a project that targets '.NETFramework,Version=v4.6.2'.
2>Turnkey.Automation -> F:\Work\JOB\UnrealEngine503\Engine\Binaries\DotNET\AutomationTool\AutomationScripts\Turnkey\Turnkey.Automation.dll
3>------ Build started: Project: AutomationTool, Configuration: Development Any CPU ------
3>CSC : error CS0006: Metadata file 'F:\Work\JOB\UnrealEngine503\Engine\Engine\Binaries\DotNET\AutomationScripts\SimpleUGC.Automation.dll' could not be found
3>Done building project "AutomationTool.csproj" -- FAILED.

Can you help me point out where I’m going wrong? I have tried VS2022 and VS2019 on different computers and both encountered this error reported.

Getting the same error :frowning: Seems like Target Framework changed for Automation Tool in UE5 from .NET Framework 4.6.2 to .NET Core 3.1 and you can not easily change that it seems

1 Like

OMG I am not alone!

Hey guys :slight_smile:

Yeah, I thought that was fixed, obv. it wasn’t :-/

Anyways, a quick workaround to this is, to just use a “normal” build from the engine, and not building an own one with the UAT extension (or delete the UAT extension if you need to build your own engine for other reasons).

The only thing this will affect is the “Package Mod” option in the editor - it’ll just not do anything, then, but everything else will work, incl. testing mods from the editor, so you should be able to continue your work, at least.

My plan is to replace the UAT call “Packege Mod” makes with ones that work with vanilla/unmodified UAT and therefore removing the need for a sourcebuild of the engine alltogether, which will get rid of this problem.

Just need to find some time to sneak away from work to implement it, I’m fairly confident I found a set of nicely working UAT calls.

Sorry for the troubles.

1 Like

UPDATE:

I just pushed an update into the “main” branch, this now gets completely rid of the UAT scripts, i.e. no engine source build required, anymore - I replaced the “PackageUGC” call to the custom UAT script with a “BuildCookRun” one that UAT offers out-of-the-box.

This also gets rid of the above mentioned compiler error - as you don’t have anything to compile, anymore :slight_smile:

Only downside is, now you don’t get a ZIP, but a folder containing the mod that you can copy/move into a standalone build of the original project and/or just ZIP for uploading or w/e.

7 Likes

Huge thaks! gona try now!

Sweet, that’s awesome

Wowie this is incredible and you are a wizard, thank-you so much for sharing this with the community! Mind blown what a fantastic job

Anyone got this working? @Hellcat Trying to compile the project for 5.1 and get this error:

1>B:\GITHUB\UE5-SimpleUGC\Plugins\SimpleUGC\Source\SimpleUGCEditor\Private\SimpleUGCPackager.cpp(173): 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> *'
1>B:\GITHUB\UE5-SimpleUGC\Plugins\SimpleUGC\Source\SimpleUGCEditor\Private\SimpleUGCPackager.cpp(182): note: No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called

Caused by this code:

	IUATHelperModule::Get().CreateUatTask(CommandLine, PlatformName, PackagingText,
	                                      PackagingText, FSimpleUGCEditorStyle::Get().GetBrush(TEXT("SimpleUGCEditor.PackageUGCAction")),
	                                      [ReleaseVersion, PlatformName, FriendlyName, OutputDirectory, StagePath, StagePathPackedMod]
                                      (FString TaskResult, double TimeSec)
	                                      {
		                                      // move the actual mod files into the requested output dir and cleanup the staging area
		                                      IPlatformFile& PlatformFile = FPlatformFileManager::Get().GetPlatformFile();
		                                      PlatformFile.CopyDirectoryTree(*OutputDirectory, *StagePathPackedMod, true);
		                                      PlatformFile.DeleteDirectoryRecursively(*StagePath);
	                                      });

Okay, I just downloaded UE5.03 and tried to compile your plugin and it worked. So it seems that something changed in UE5.1 which breaks your code :frowning: