Skip to content

Introduction

ModularInventoryPlus (MIP) is a Unreal Engine 5 plugin that provides a complete, server-authoritative MMO/RPG framework — from inventory and combat to backend orchestration.

Instead of spending months building core infrastructure, MIP gives you every essential system out of the box so you can focus on what makes your game unique.


What MIP Provides

At the core of every MMORPG is infrastructure that never fails — player data that persists, servers that scale, and real-time communication that holds under load. MIP provides exactly that backbone: a dockerized backend (NestJS + MongoDB + Redis) paired with full Kubernetes/Agones orchestration for auto-scaling fleets, dynamic dungeon allocation, and zero-downtime deployments. Every game feature MIP ships — inventory, combat, quests, guilds, chat, economy — is built on top of this foundation and inherits its reliability.

On the Unreal side, MIP covers the entire MMORPG lifecycle: authentication, multi-character accounts, portal-based map travel, minimap with map discovery, persistent save/load, and dozens of in-game systems ready to power your world from day one. The list below covers the major pillars — but it is far from exhaustive.

Core Architecture

  • Instance-based world model — maps are divided into channels/sessions, each running on its own dedicated server instance.
  • Server-side authority — all critical game logic (combat, item changes, quest completion) runs server-side with proper HasAuthority() checks.
  • Dual communication — REST (VaRest + JWT) for auth and user management; Socket.IO for all real-time game events.
  • Agones/Kubernetes — auto-scaling, server pooling, dynamic dungeon allocation, and fleet management.

Key Systems

System Highlights
Authentication & Characters JWT-based login, multi-character accounts (family system), character selection screen, server-authoritative identity
Inventory & Items Equipment, consumables, currencies, loot, enhancement, repair, expiring items, hotbar/quick slots
Equipment Modification Reforge, recalibrate, seal, and transmute operations on existing equipment — each with configurable costs and data assets
Loot System Personal loot per player, weighted loot tables, per-spawner and per-map overrides, world-level scaling
Gameplay Ability System Full GAS integration — ability leveling, cooldowns, ability points, status effects, immunity on respawn
Quest System Accept/track/complete quests, NPC dialogue, reward choices, quest chains, hyperlink navigation
Friends & Party Friend list, presence tracking, party invites, damage pooling for party reward distribution
Chat Global, whisper, and system channels via Socket.IO; profanity filtering, rich text, item linking
Exchange NPC buy/sell with action-limit and currency requirements, exchange scopes
Vendor Vendor shops, purchase list + repurchase (see docs: Vendor, Vendor Repurchasing)
Save / Load Add UPROPERTY(SaveGame) → auto-serialized to JSON → persisted to MongoDB. Two scopes (character / family), batch loading (32/tick), parallel streams, version migration, auto-dirty
NPC & Interactions Circular interaction UI, dialogue trees, vendors, storage NPCs, secondary actions
Mobs & AI Enemy AI, configurable spawners (area, wave, trigger, endless), world-level scaling
Dungeon & Game Modes Session dungeons, wave/survival modes, endless colosseum, dynamic server allocation
Map Travel & Gates Travel gates between maps, channel switching, dungeon entry portals, spawn-point caching
Player Progression XP-based leveling, ability points, multiple currency types with fast-array replication
Minimap & World Map Map discovery, player markers, quest markers, enemy markers, NPC markers, minimap runtime component
UI Framework 96+ pre-built widgets — inventory, ability bars, quest log, chat, dialogue, popups, death screen
Editor Tools Three custom SGraphEditor-based visual editors — Quest Flow Graph (story-line wiring, quest cards, JSON import), Map Flow Graph (gate connections, BFS paths, minimap preview, NPC/spawner/loot info panel), Item Definition Browser (rich item cards, type tabs, creation wizards) — plus custom PIE engine for multi-instance testing
Top-Down ARPG WASD movement, click-to-move, click-to-interact, click-to-attack, cursor detection (interactable/enemy/player), action queue, nav-mesh path following

Equipment Stats

Every equipment piece supports a multi-layered stat system built on top of GAS (Gameplay Ability System) attributes:

Layer Description
Static stats Fixed values that never change (e.g. +10 STR). Defined per equipment data asset.
Dynamic stats Rolled within a min/max range when the item is created. Each stat has an attribute tag, a value range, and a modifier operation (additive or multiplicative).
Randomized pool stats Each pool selects one stat from a weighted list on creation, then rolls its value within the chosen stat's range. Multiple pools means multiple random stat slots.

On top of that, four crafting operations let players modify stats after creation:

  • Reforge — re-roll all dynamic stat values within their original ranges.
  • Recalibrate — re-roll a specific stat to a new value.
  • Seal — lock a stat so it is protected from re-rolls.
  • Transmute — re-roll which stat was selected from a randomized pool.

All stat modifiers replicate via FastArraySerializer and are applied through a generated UMIPEquipmentGE (Gameplay Effect) with SetByCaller magnitudes, so adding new attributes requires no C++ changes — just new GameplayTags.


Save / Load System

Data is organized into three tiers:

  • Account-level — shared family storage, account settings, temporary effects
  • Character-level — inventory, equipment, quests, abilities, currencies, cooldowns, temporary effects

Each game component implements a saveable interface and automatically marks itself dirty when data changes. On the backend, data is serialized to JSON and persisted in MongoDB. Loading is parallel and batched to prevent server hitches.


Backend Stack

Layer Technology
API Framework NestJS (TypeScript)
Database MongoDB
Real-time Socket.IO with Redis adapter
Auth JWT (Bearer tokens)
Server Orchestration Kubernetes + Agones
Scaling Redis pub/sub, distributed locking

What's Included

  • 1,000+ C++ classes — fully implemented, Blueprint-accessible
  • 240+ content assets — example blueprints, widgets, and data assets
  • Dockerized backend — ready to deploy locally or to a cloud provider
  • Full source code — extend and modify anything

Engine & Platform Support

  • Unreal Engine 5.7
  • Windows and Linux dedicated server builds
  • C++ and Blueprint accessible throughout