Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/modio/modio-ue

Unreal Engine Plugin for easily integrating mod.io into your game - the UGC management service for game developers
https://github.com/modio/modio-ue

cpp modding modio sdk ugc unreal-engine unreal-engine-4 unreal-engine-5

Last synced: 2 days ago
JSON representation

Unreal Engine Plugin for easily integrating mod.io into your game - the UGC management service for game developers

Awesome Lists containing this project

README

        

++++
mod.io
++++
# mod.io Unreal Engine Plugin

image:https://img.shields.io/badge/license-MIT-brightgreen.svg[alt="License", link="https://github.com/modio/modio-sdk/blob/master/LICENSE"]
image:https://img.shields.io/discord/389039439487434752.svg?label=Discord&logo=discord&color=7289DA&labelColor=2C2F33[alt="Discord", link="https://discord.mod.io"]
image:https://img.shields.io/badge/docs-master-green.svg[alt="Master Docs", link="https://docs.mod.io/unreal/"]
image:https://img.shields.io/badge/Unreal-4.26%2B-dea309[alt="Unreal Engine", link="https://www.unrealengine.com"]

Welcome to the mod.io Unreal Engine plugin repository. It allows game developers to host and automatically install user-created mods in their Unreal Engine games. It provides a UI for mod discovery, installation and collection management, and a C++ and Blueprint interface around the mod.io SDK, which connects to the https://docs.mod.io[mod.io REST API].

++++

++++

## Engine & Platform Compatability

The mod.io plugin is generally maintained to support the 3 most recent versions of Unreal Engine. If you are using an older version of the engine, you can access the last supported release of the engine from the Releases page.

### Engine compatability

|===
|Engine Version | Last Release
|UE4.26 | 2023.11
|UE4.27 | 2023.11
|UE5.0 | 2023.11
|UE5.1 | 2024.6
|UE5.2 | Current
|UE5.3 | Current
|UE5.4 | Current
|===

### Platform compatability

The mod.io plugin supports Windows, Linux, Mac, iOS and Android as part of the public release.

For access to Windows (GDK), XBox, Playstation 4, Playstation 5 or Switch, please <>.

## Features

* C++ and Blueprint support
* Permissive MIT/BSL-license
* Async delegate-based interface
* Non-blocking IO
* Automatic downloads and updates
* Email / Steam / EGS / Consoles / Custom SSO authentication
* Mod Browsing / Filtering

== Installation

=== Adding plugin files to your project
==== As a git submodule

. Add this repository as a submodule to your repository in your project's `Plugins/Modio` directory
+
In the directory with your .uproject file: `git submodule add https://github.com/modio/modio-ue Plugins/Modio`
. Initialize our submodules with `git submodule update --init --recursive`

==== In a non-git project, or without submodules

. Grab the latest release zip from the Releases section on this page, and extract the contents to your project's `Plugins/Modio` directory

image:Doc/img/get_latest_release.png[] image:Doc/img/get_latest_release2.png[]

NOTE: The automatically generated zips in on the release page, or the 'Code' dropdown here, will not work! They do not contain our submodule dependencies.

=== Enabling the plugin

Start the editor, then enable the plugin in the Unreal Engine settings:

image::Doc/img/plugin_window.png[]

Once this is done, you can configure the plugin and get started.

=== Plugin Configuration

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

image::Doc/img/plugin_settings.png[]

The settings have the following parameters:

[.stretch,stripes=odd,frame=none, cols="25%,~"]
|===
|[.paramname]#Game Id#|Your mod.io-provided Game Id for the target environment
|[.paramname]#API Key#|Your mod.io-provided API key for the target environment
|[.paramname]#Environment#|Your current environment, Live or Test
|[.paramname]#Log Level#|The default logging level to use. Messages with a lower log level will be silently discarded.
|[.paramname]#Portal#|The default portal to use. This usually corresponds to the store your game will be being distributed through.
|[.paramname]#Use Background Thread#|Run the mod.io plugin on a managed background thread.
|===

NOTE: The Test environment is available for usage in limited circumstances. All games should be setup on the Live environment. If you require access to Test, please contact us.

=== Setting up your game

Before release, you will be able to setup a "hidden" Live environment that will allow you to perform QA against the production environment before release, without exposing your title to the public. At this stage, only selected accounts are able to see your game page, and mods that are uploaded for your title. Once you are ready, you can change the state from "hidden" to "public" to make a full release of your game’s modding capabilities.

== Further reading

To begin using the Plugin, either from Blueprint or from C++, please read our https://docs.mod.io/unreal/[Getting Started Guide] for a detailed explanation of initialization and usage.

* https://docs.mod.io/unreal/getting-started/#plugin-quick-start-initialization-and-teardown[SDK initialization and event loop]
* https://docs.mod.io/unreal/getting-started/#plugin-quick-start-user-authentication[Authentication]
* https://docs.mod.io/unreal/getting-started/#plugin-quick-start-browsing-available-mods[Mod Browsing]
* https://docs.mod.io/unreal/getting-started/#plugin-quick-start-mod-subscriptions-and-management[Mod Subscription Management]
* https://docs.mod.io/unreal/mod-creation-tool/[Content Creation & Upload Tool]

=== User Interface

mod.io also provides a separate plugin for building an in-game UI. This includes a template for mod browsing, searching, collection management etc, as well as a set of components for customizing or building your own in-game UI. You can download that from the https://github.com/modio/modio-ue-component-ui[Component UI Repository].

=== Profiling

The mod.io SDK ships with some profiling features that are integrated into Unreal's stat commands. You can read more about enabling profiling link:Doc/profiling.adoc[here].

=== Sample Projects

You can find a sample project demonstrating basic mod.io functionality link:https://go.mod.io/ue5-sample[here].

== Game studios and Publishers [[contact-us]]

If you need assistance with 1st party approvals, or require a private, white-label UGC solution. mailto:[email protected][Contact us] to discuss.

== Contributions Welcome

Our Unreal Engine plugin is public and open source. Game developers are welcome to utilize it directly, to add support for mods in their games, or fork it for their games customized use. Want to make changes to our plugin? Submit a pull request with your recommended changes to be reviewed.

== Other Repositories

Our aim with https://mod.io[mod.io], is to provide an https://docs.mod.io[open modding API]. You are welcome to https://github.com/modio[view, fork and contribute to our other codebases] in use.