Frequently Asked Questions¶
Common questions answered before you purchase.
General¶
What kind of games can I build with MIP?¶
MIP is designed for top-down multiplayer RPGs — MMORPGs, ARPGs, co-op dungeon crawlers, survival RPGs, or any game that needs dedicated servers with persistent player data. The plugin is built for top-down gameplay.
Can I use MIP for a single-player game?¶
No. MIP is built entirely around dedicated servers and server authority. No effort has been made to support single-player. All game logic requires a running backend, database, and Kubernetes stack — there is no offline or standalone mode.
Is MIP a template or a plugin?¶
MIP is technically a plugin (it lives in Plugins/), but it is intended to be used as a template — you start a new project with it, not bolt it onto an existing one. MIP provides its own GameMode, GameState, PlayerController, PlayerState, and PlayerCharacter base classes, plus a full backend and infrastructure stack. Adding it to an existing project with its own framework classes is not recommended and would require significant rework. Download the starter project with everything pre-configured and ready to extend.
Technical¶
Do I need to build Unreal Engine from source?¶
Yes, for full functionality. You can technically open and develop with the Epic Games Launcher version — editing levels, Blueprints, and content all work. But to run real server sessions with Minikube and test multiplayer locally, you need to build Linux server binaries (<ProjectName>Server target), which is only available in source builds of UE5.
What Unreal Engine version does MIP support?¶
UE 5.7 (source build). See Prerequisites for the specific release tag.
Do I need C++ knowledge?¶
Basic C++ is recommended. MIP exposes most functionality to Blueprints, so you can do a lot without writing C++. However, to extend core systems (custom ability logic, new item types, custom save data), you'll need to work in C++.
Do I need Gameplay Ability System (GAS) experience?¶
It helps significantly. MIP uses GAS for combat, equipment stats, abilities, cooldowns, and status effects. If you're new to GAS, you'll want to learn the basics (Attributes, Gameplay Effects, Gameplay Abilities) alongside MIP.
Backend & Infrastructure¶
Do I need the backend running to play?¶
Yes, always. MIP is fully server-authoritative — every gameplay action goes through the backend. You need Redis, MongoDB, and the NestJS backend running at all times, even during development in the editor. There is no offline or backend-optional mode. For local development, docker compose up -d starts Redis and MongoDB, then you run the NestJS backend and Minikube for game server allocation.
Do I need Docker and Kubernetes knowledge?¶
Docker: Basic knowledge — you run docker compose up -d to start Redis and MongoDB. That's it for local development.
Kubernetes: For local development, you follow the Minikube setup guide step-by-step. For production deployment, you'll need to understand Kubernetes basics (pods, services, deployments) or work with someone who does.
Can I use a different database instead of MongoDB?¶
MIP is built on MongoDB with Mongoose ODM. Swapping to a different database (PostgreSQL, MySQL) would require rewriting the persistence layer in the backend. Not recommended unless you have a strong reason.
Can I skip Kubernetes and just run game servers directly?¶
For local development, Minikube handles everything. For production, Agones/Kubernetes is how MIP manages dedicated server lifecycle (allocation, scaling, health checks). Removing Kubernetes would mean rebuilding the server orchestration layer.
How does MIP scale in production?¶
MIP uses K3s (lightweight Kubernetes) with Agones for game server management. The cluster uses a master/worker architecture:
- Master node — runs the Kubernetes control plane, Agones controller, and Helm. The included
setup-k3s-agones.shscript installs K3s, Helm, and Agones on a fresh Linux server in one step, configures networking with your public IP, and outputs a kubeconfig you can merge into your local machine. - Worker nodes — join the master using a token and the master's IP. Each worker runs game server pods. Add more workers to increase capacity. The included
join.shscript handles the setup.
Fleet auto-scaling creates new dedicated server pods based on demand across all worker nodes. The NestJS backend scales horizontally behind a load balancer, with Redis pub/sub ensuring Socket.IO events reach all instances. MongoDB handles persistence.
Content & Customization¶
Can I use only parts of MIP?¶
MIP is modular by design — systems are implemented as ActorComponents. You can disable components you don't need (e.g., remove the quest component if your game has no quests). However, some systems have dependencies (e.g., equipment depends on inventory, abilities depend on GAS).
Can I add my own item types?¶
Yes. MIP's item system is built on Item Pieces — modular data blocks that define an item's properties. You can create custom item pieces by extending the base class in C++ or Blueprint. New equipment stats only require adding GameplayTags — no C++ changes. To make any custom data persist, just mark the property with UPROPERTY(SaveGame) — the system automatically serializes it to JSON and saves it to the database. On load, it deserializes back into your properties automatically. No manual serialization or loading code needed.
Does MIP include example content?¶
Yes — MIP ships as a complete starter project with 240+ content assets including example Blueprints, data assets, widgets, maps, and data tables. Everything is pre-configured and playable out of the box, so you can run it immediately and use it as the foundation to build your game on top of.
Support & Updates¶
Is MIP actively maintained?¶
Yes. See the Changelog for version history and recent updates.
How do I get support?¶
- Documentation — this site covers most systems and is continuously updated
- Discord — community support and discussion
Do I get source code?¶
Yes. Full C++ source code for the UE5 plugin and full TypeScript source code for the NestJS backend. You can read, modify, and extend anything.