Skip to main content

Adding UGC

There are a few ways to allow users to add their UGC creations to your game. You can either allow users to build and submit UGC from inside your game, or you could take advantage of Unreal Engine's built-in tooling to empower users to create and upload UGC to your game.

This guide covers:

In-game UGC submissions

Submitting UGC from inside your game and making it visible to other players involves two steps:

  1. Submitting new UGC
  2. Submitting the data of the UGC (aka "the mod file")

These steps are outlined below. UGC can also be edited after submission, which you can learn via the API Reference

Submitting new UGC

To submit a piece of UGC, you must first create a mod handle using GetModCreationHandle, and use that handle when calling SubmitNewModAsync. Note that newly created UGC will remain hidden until a mod file is added in the next step.

void UModioManagerSubsystem::SubmitNewMod()
{
if (UModioSubsystem* Subsystem = GEngine->GetEngineSubsystem<UModioSubsystem>())
{
FModioModCreationHandle Handle = Subsystem->GetModCreationHandle();

FModioCreateModParams Params;
Params.Name = TEXT("My Amazing Mod");
Params.Description = TEXT("This mod does amazing things");
Params.PathToLogoFile = TEXT("C:\\path\\to\\image.png");

Subsystem->SubmitNewModAsync(Handle, Params, FOnSubmitNewModDelegateFast::CreateUObject(this, &UModioManagerSubsystem::OnSubmitNewModComplete));
}
}

void UModioManagerSubsystem::OnSubmitNewModComplete(FModioErrorCode ErrorCode, TOptional<FModioModID> ModId)
{
if (!ErrorCode)
{
// Mod was successfully submitted
// We can now call SubmitNewModFileForMod with this ModId
}
}

Submitting the data for the UGC

Once you have successfully submitted a piece of UGC, you can submit a mod file for that UGC using SubmitNewModFileForMod. When you submit a mod file, you pass a ModioCreateModFileParams containing the directory containing all the files that you want to submit. The plugin will compress this folder into a .zip file and upload it as the active version of the UGC.

In the future, if the mod is updated and requires a new mod file, SubmitNewModFileForMod can be called again. The most recent mod file uploaded by SubmitNewModFileForMod will be set as the active version.

note

There is no callback for SubmitNewModFileForMod; you’ll be notified of the completed upload by your mod management callback.

void UModioManagerSubsystem::SubmitNewModFile(FModioModID ModId)
{
if (UModioSubsystem* Subsystem = GEngine->GetEngineSubsystem<UModioSubsystem>())
{
FModioCreateModFileParams Params;
Params.PathToModRootDirectory = TEXT("C:\\path\\to\\mod-folder");
Subsystem->SubmitNewModFileForMod(ModId, Params);
}
}

Unreal Engine Creation & Upload Tool

The mod.io Unreal Engine's plugin includes an editor module which provides an embedded mod.io - Content Creation and Upload Tool.

Editor-specific plugin modules

Module NameDescriptionModule Type
ModioEditorEditor details customization and asset factories for UE content creation and upload tool classesEditor

Opening the tool

Click the mod.io icon in Unreal Engine to show a drop down menu, click the Create & Upload menu. Once opened, it may require mod.io authentication as below.

how_to_open_tool

Authenticating

Authentication may be required either being a first time user of the module or not logged in previously. If you are already logged in, you will automatically be redirected to creating or editing mods.

The user will be authenticated if not already logged in to a mod.io account.

Email: Enter your email in the text box shown below and click Login, a verification code will be sent to the submitted email address.

auth_enter_email

Verification code

Verification Code: Enter the code received in your email and click Authenticate.

auth_enter_code

If everything goes correctly, you will be authenticated successfully.

Create or Edit Mods

After successful authentication, you can either Create Mod or Edit Mods.

create_or_upload_mod

"Create Mod"

Create Mod lets you create new UGC.

create_mod

"Edit Mods"

Edit Mods lets you edit existing UGC and change any specific values or mod files within them.

edit_mods

Creating UGC

Creating UGC is made easy from within Unreal Engine described in the process below.

"Create Mod"

Click Create Mod and fill the following required fields:

Create Mod Properties

FieldsDescription
Path to Logo FileBrowse to select your .png file for logo
NameName of the mod
SummaryA brief summary of the mod

create_mod_properties

Once filled all the required fields, click Submit to create the mod.

create_mod_properties_submit

TIP: You may get an error dialog if the game doesn't support your platform or the game is locked.

error_platform_not_supported error_game_locked

Once everything goes successful you will be asked if you also want to upload a mod file right away.

mod_created_modfile_prompt

If Yes is selected you will be redirected to STEP 6.

Edit existing UGC

Editing existing UGC is made easy in the same way as creating UGC directly from within Unreal Engine described in the process below.

"Edit Mods"

By clicking Edit Mods, a list of UGC will be shown to edit. You can select UGC by clicking on it.

Browse Mods

NameDescription
Your mod nameYour mod description

browse_mods

Once UGC is selected, click Edit Mod to edit the UGC.

browse_mods_edit_mods

Edit Mod Properties

FieldDescription
NameYour mod name
SummaryYour mod summary
Homepage URLYour mod homepage url

edit_mod_properties

If you want to change the mod properties, make desirable changes to above fields and click Submit.

edit_mod_properties_submit

Then click Edit Files to see a list of existing mod files.

edit_mod_properties_edit_files

Modfile

NamePlatformVersionStatus
Your mod file nameYour mod platformYour mod file versionYour mod file status

browse_modfile

Uploading a new modfile

To upload a mod file, a workspace directory path is mandatory which is described in the process below.

Click New Modfile

browse_modfile_new_modfile

You may need to select Create mod for PC

create_mod_for_pc

Fill the required fields:

TIP: You may get an error dialog if the game doesn't support your platform or the game is locked.

Upload Mod File

FieldDescription
VersionYour mod file version
ChangelogYour mod file platform
Set as Active ReleaseWhether to set as Active Release
Path to Mod Root DirectoryPath to the workspace directory

upload_modfile

Once all fields are filled out, click Submit

upload_modfile_submit

Once submitted, the progress bar will be displayed about the workspace directory being zipped and uploaded with all other information provided for the new mod file.

upload_modfile_submit_status

Mod file upload

TIP: You may get an error dialog if the game doesn't support your platform or the game is locked or any error that occurs due to internet issues or any other circumstances.

modfile_successfully_uploaded

Next steps

Now you've activated the ability to add UGC to your game, the next step is to allow users to find UGC by implementing the Searching for UGC guide.

If you've already done this, we recommend working your way through the Unreal Getting Started Guides as they will teach you how to implement the fundamentals of the Unreal Engine Plugin before moving onto exploring our Features