Skip to main content

Installation & Setup

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

note

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

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.

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

  • Our Getting Started Guide page contains a series of quick-start guides with code samples demonstrating the plugin's core functionality.
  • A sample project demonstrating basic mod.io functionality is available here.