Skip to main content

Installation

The Unreal Engine Core Plugin is the foundation that the rest of our features depend on. It provides functionality to interact with mod.io's services, such as user authentication, content searching & filtering, subscription management & downloading and more. The following guides will take you through the fundamentals of what the plugin offers.

Before you activate UGC functionality, you'll need to setup the Unreal Engine Plugin in a way that's suitable for your game, as well as connect it to your mod.io Game Account.

This guide covers:

Navigation tip

Use the menu on the right to navigate the key points of this guide →

Adding plugin files to your project

Download the Unreal Engine plugin from the mod.io GitHub repository using one of the following methods:

As a git submodule

  • In the directory with your .uproject file, add and download the mod.io plugin as a git submodule with the command:

    git submodule add https://github.com/modio/modio-ue.git Plugins/Modio

  • Next, initialize our submodules and dependencies:

    git submodule update --init --recursive

On first run, or any time you update the git submodule for the plugin, you must set the MODIO_DEVELOPMENT_MODE environment variable to 1. This will tell the plugin to regenerate the files it produces from the internal copy of the mod.io C++ SDK. This environment variable does not need to be set if you are using the standalone release zips, or during normal development when you have not updated the Plugin via git.

Once these files are regenerated, simply leave the environment variable unset and the regenerated files can be added to your version control system. This allows you to update the plugin via Git without interfering with daily use of Perforce or similar version control that requires files be marked read-only.

In a non-git project, or without submodules

  • Grab the latest release zip from the releases section on GitHub and extract the contents to your project’s Plugins/Modio directory

get_latest_release get_latest_release2

Note on Zips

GitHub's automatically generated zips will not work! They do not contain our submodule dependencies. Ensure you download the zip file from the releases page as highlighted above.

Enabling the plugin

Start the editor and enable the plugin in the Unreal Engine plugin settings.

plugin_window

Plugin configuration

The plugin requires some initial configuration to behave correctly. You can access these settings in the Project Settings window:

plugin_settings

The settings have the following parameters:

PropertyDescription
Game IdYour mod.io-provided Game Id for the target environment
API KeyYour mod.io-provided API key for the target environment
EnvironmentYour target environment, Live or Test
Log LevelThe default logging level to use. Messages with a lower log level will be silently discarded.
PortalThe default portal to use. This usually corresponds to the store your game will be distributed through.
Use Background ThreadEnables or disables the use of a background thread for the plugin's work.
note

The Test environment is available for usage in limited circumstances only. All games should be set up on the Live environment. Set your game to hidden to restrict access during the testing phase. If you require access to Test, please contact us.

Connecting to mod.io

If you haven't already, you'll need to create a Game Account with mod.io. You can do so by following Step 1 of the Getting Started guide.

important

You'll need your Game Id, API Key and API Path for the following steps.

Ensure you have installed the plugin using the installation instructions above.

ALEX NOTE: Need details on how to do this for Unreal. EG: Unity details are as follows:

Once your account is setup, follow the below steps to connect your game and your account:

  1. Ensure you have installed the plugin using the installation instructions above.
  2. In Unity, select the mod.io config file by navigating to Tools -> mod.io -> Edit Settings.
  3. In the Inspector, enter your Game Id, API key and API Path into Server URL.

If you have any questions or need some help join our Discord server.

Using a background thread

RunPendingHandlers is responsible for running any pending plugin work, including invoking callbacks passed to asynchronous operations. With Use Background Thread set to true, the mod.io plugin will automatically spin up a background thread and continually call RunPendingHandlers for you. This decouples the frequency of the plugin’s work from your game's main thread, and improves performance of the plugin overall.

Calling methods from the ModioSubsystem will marshall all callbacks back to the game thread. All other plugin call guarantees remain the same.

Using the Live environment

All games should be set up on the Live environment for full access to the mod.io REST API's capabilities.

If your game or it's modding capabilities are not yet publicly available, set your game to hidden on the Live environment. This allows you to restrict access to specific accounts and perform QA against the production environment without exposing your title to the public.

Once you are ready, change the state from hidden to public for a full release of your game’s modding capabilities.

Next steps

Now you've installed and connected the plugin, it's time to get things running using our Initialization guide.

If you have any questions or need some help join our Discord server.