Relay

v0.9.0·Updated 2026-09-21

Blueprint API for function hooks, UDP networking, and actor replication. Enables mods to observe/modify calls, register game features, and build multiplayer without C++.

About this mod Author’s original text

Relay

Relay is a Blueprint API for Voices of the Void mods. It gives BP mods features

that normally require native C++:

  • observe, change, or cancel Blueprint function calls;
  • register shop items, keybinds, calendar events, and dreams (WIP);
  • connect game instances over UDP and exchange typed messages;
  • replicate mod actors and selected vanilla classes without editing them.

Relay began as a small function watcher for an older mod. It now provides

function hooks, runtime game integration, and a multiplayer transport/replication layer.

Relay calls a function hook a Watch. A Watch targets one class and function

and returns an object with bindable events. A Pre Watch can change supported

input parameters; a cancelable Watch can stop the call.

Networking is now the largest part of Relay. It provides low-latency UDP

transport, typed messages, and a replication model inspired mainly by Unreal

Engine 4.27, with ideas from Source, Doom 3, and Tribes.

Relay's goal is to let Blueprint authors create networked mods without relying

on WebSockets over TCP or locking multiplayer into one closed ecosystem. Relay

is designed to coexist with UE4SS and other Relay mods, allowing mods to

communicate, share services, and build on one another.

Relay is not a co-op mod. It is a networking backend that other mods can use

to build co-op or other multiplayer modes. Installing Relay by itself adds no

host/join flow or replication rules.

Relay README Blueprint

Public test notice

This public test is intended for mod authors. It includes example assets, but it

is not a finished multiplayer conversion of VotV.

Before testing multiplayer:

  • back up every save involved;
  • use the same Relay DLL, Relay.pak, gameplay mod, and rule profile on every

machine;

  • keep the UE4SS log from both machines when reporting a problem.

Relay does not provide a public lobby or a ready-to-play multiplayer mode. The

release includes RelayExampleUI in cooked and editable form. Its basic

Host/Join UI and rules are an integration example, not a complete gameplay mod.

To try it, rename RelayExampleUI.pak.example to RelayExampleUI.pak inside:

%AppData%\r2modmanPlus-local\VotV\profiles\\shimloader\pak\Moddy-Relay

Hosting asks for permission the first time: press Host, allow it in the

Windows prompt, then press Host again. allow_listen=1 in relay_net.ini

does the same thing without a prompt.

Raw, uncooked assets for mod authors are in the release's editor folder and

on GitHub.

Click here to see how Relay protects network traffic

Relay still uses UDP, but Relay gameplay and voice payloads are not sent as

plain text. It uses the official libsodium library and the same security

handshake for direct, punched, and relayed connections:

  • the host signs the handshake with a persistent Ed25519 identity;
  • each connection gets fresh X25519 session keys. Relay encrypts and

authenticates every later datagram with XChaCha20-Poly1305, and refuses

tampered, replayed, or incorrectly tagged packets;

  • a connect or friend code pins the host identity. Relay remembers identities

for later direct connections and refuses an unexpected replacement;

  • an invite password uses Argon2id and challenge-bound proofs. Relay never

sends the plaintext password;

  • a stateless source cookie is checked before expensive handshake work.

Per-source connection rates, per-source and host-wide pending-peer limits,

an ENet duplicate-peer cap, and handshake deadlines limit resource use before

authentication;

  • packet sizes, message lengths, queues, and reliable backlogs have hard

limits. Decoders reject truncated, oversized, malformed, or trailing data

before it reaches Blueprint calls;

  • encryption does not grant gameplay authority. The host identifies the peer

behind each connection, validates replicated actions, and denies remote

authority leases unless that peer proved a non-empty invite or the host

explicitly enabled allow_untrusted_leases=1;

  • relay and rendezvous services do not recei

Install & use Install: follow the bundled instructions

  1. Unzip the archive from playbuff and read the bundled readme / instructions first.
  2. Most mods rely on the game's mod loader — the usual route is a community mod manager (such as r2modman): pick this game, install, and it handles the loader and dependencies.
  3. For a manual install, put the mod files into the matching Mod / plugins folder inside the game directory.
  4. Launch the game to confirm it loaded; mods with listed dependencies need those installed as well.

Install locations vary a lot between mods — the bundled readme is the most reliable guide.

Dependencies

Install these first, or the mod will not work:

unreal_shimloader

File & checksum

Filename
Relay-0.9.0.zip
File size
3.2 MiB