MissionUtils

v1.0.2·Updated 2025-05-27

A patch to make the mission system more flexible and easier for modders to use.

Screenshots 1 screenshots

About this mod Author’s original text

MissionUtils

A BETA helper plugin for R.E.P.O. that patches `MissionUI for it to be easier for modders to add their own mission ("FOCUS >") messages. It currently offers a queue system for displaying messages to players, and aims to not interfere with the default MissionUI` system.

To use it, simply call `MissionUI.instance.MissionText()` with the message you want to display as you normally would. The plugin will handle the rest, including queuing them and displaying them in the correct order, with a configurable delay between messages.

Features

  • Queue System: The plugin automatically queues messages and displays them in the order they were received. This means you can send multiple messages without worrying about them overlapping or being displayed at the same time.
  • Configurable Delay: You can configure the delay between messages to suit your needs. This allows you to control how long each message is displayed before the next one is shown.
  • Configure Dead Player Behavior: You can configure how the plugin behaves when a player dies. By default, the plugin will not show missions to dead players (the way it is in vanilla), but you can change this behavior in the config file, or forcefully override it in your mod's code.
  • Broadcasting: There's a built-in networking event that allows you to send messages to all players in the game, and it will automatically handle the queuing and displaying of those messages. This means you can easily send messages to all players without having to worry about the underlying mechanics of `MissionUI just by prepending your mission messsage with %broadcast%`. The plugin will automatically detect this and send the message to all players in the game. Without it, the message will be sent to the local player only. For example:

// This will send the message "This is a test message to all players!" to all players in the game for 4 seconds

MissionUI.instance.MissionText("%broadcast%This is a test message to all players!",

Color.white,

Color.white,

4f

);

// This will send the message to the local player only for 4 seconds

MissionUI.instance.MissionText("This is a test message to the local player!",

Color.white,

Color.white,

4f

);

If you have any suggestions, feel free to reach out to me on Discord!

© Pencil Fox Studios SP

Install & use Install: BepInEx plugin

  1. The archive from playbuff is the mod itself — usually a BepInEx plugin (a .dll or a plugin folder once unzipped).
  2. Recommended: use a community mod manager (such as r2modman) — pick this game, import the mod, and the manager sets up BepInEx and its dependencies for you.
  3. Manual route: install the BepInEx loader in the game folder, then drop the unzipped .dll or plugin folder into BepInEx/plugins/.
  4. Launch the game — the BepInEx console logs every plugin it loads; seeing this mod in the log means it is installed.

Mods with listed dependencies need those installed too, or they will not load. Options are usually changed in-game or in the plugin's config file.

Dependencies

Install these first, or the mod will not work:

BepInEx-BepInExPackZehs-REPOLib

File & checksum

Filename
MissionUtils-1.0.2.zip
File size
37.4 KiB