A custom C++ server for Unreal Engine 5: Simultaneous Worlds, TypeScript Scripting and Public Demo

Also covered and discussed on reddit

In contrast to a Unreal-based solution, my server is able to host multiple worlds (levels/shards/layers) at the same time, with a low consumption of resources. In addition, the server is able to update many independent worlds and their content in parallel, thus making the best use of modern multi-core systems to potentially support a larger number of clients. In addition, my dedicated server plugin works with the standard Unreal Engine that is distributed through the Epic Marketplace and does not require a source build.

This presentation in particular covers runtime-reloadable C++ and JavaScript/TypeScript AI scripting and the first presentation of multiple simultaneous levels.

Last year I published two presentations for my custom C++ Unreal Engine server already:

My previous presentations were well received and many people suggested that the server could be turned into a usable plugin eventually. Therefore, I shifted the direction from a standalone experiment to trying out whether making a usable custom server plugin would be theoretically possible. I am not sure yet, whether I would like to continue on this project, which also depends on your response.

The server is in a very experimental state and not meant for any productive use.

My presentation covers in detail:

  • Overview
  • Architecture, Benefits and Limitations
  • Plugin Installation
  • Demo Level and First Session
  • Entities and Exporting
  • NPC creation and spawning
  • Items (creation and related systems)
  • Spells, Auras & Skills (capabilities)
  • C++ Extensions (building and usage)
  • Typescript/JavaScript Scripting (transpiling and usage)

C++ libraries used (incomplete list):

TL;DR: I have implemented my own C++ server backend for Unreal that is optimized for MMO(RPG)s. The presentation includes runtime-reloadable C++ and JavaScript/TypeScript AI scripting, multiple simultaneous worlds and an introduction to the first demo.

2 Likes