Skip to main content

Neo4j#

Neo4j logo from Wikipedia

Neo4j is a graph database management system (GDBMS) developed by Neo4j, Inc. The data elements Neo4j stores are nodes, edges connecting them, and attributes of nodes and edges.

It is interesting to use in game development as the schema free data model allows for easy storage and retreival of game objects (but puts more burden on the data governance to not mess things up...). In this Play list (german version), we build some Blueprint and C++ connectors to Neo4j to be used from Unreal Engine.

Series Summary in 2 min

Unreal to Neo4j in 7 min

** Installation in Docker, API Request via CURL, Query per Blueprint** Graph Datenbanken are an easy but powerful way to store game data:

  • easier to use than relation databases, as they are schema-less
  • Query language Cypher is much easier to learn than SQL
  • Neo4J is offering a Community Edition under GPL v3
  • REST API that is easy to use via Unreal Blueprint

This video demonstrates how to install Neo4J via a Docker image and how to connect to it via Blueprint.

We will build our Unreal game inventory series around a storage layer in Neo4J and therefore start here this mini series to show how to use Neo4J from Unreal Blueprints. I recommend using the bitnami version of Neo4J as some components (APOC) are preinstalled.

Video

Querying Neo4j

Graph DB Neo4J query from Epic Unreal: Parsing a complex Json response, using Event Dispatchers

Content A plugin to demonstrate the usage of a graph DB - Neo4J - from Unreal Engine while using only native Unreal Engine Plugins (Json Blueprint Utilities, HttpBlueprint, Game Feature).

In this video we parse the Json response from Neo4J and convert it to string maps that we can use to further initialize Unreal Objects. We further use Event Dispatcher to be informed in a non-blocking way when data from the database are available for further processing.

Video

Store objects in Neo4j

Unreal to Neo4j parametrized queries: How to store complex objects into a Graph DB from Blueprint

We use a Neo4j based graph database to store objects from Blueprint without any external plugins. Focus of this video is how to add parametrized queries, how to exchange between Epics Unreal objects and Neo4j schemaless nodes and how to construct a Json query storing 99 objects and their relations within one query.

This is background work to use a graph DB as storage engine for a multiplayer directory.

Video

Neo4j usage

** BA_Neo4j installation and usage: Connect to a graph DB from Epics Unreal Blueprint **

Closure of the playlist "Unreal to Neo4j" (https://bit.ly/Unreal2Neo4J_en). We create a Blueprint to ease the usage of a graph database (Neo4j) from an Epic Unreal project. This is part of the series about a multiplay inventory, that is created in parallel (https://www.youtube.com/playlist?list=PLK0EcCQf_rrbEZW3ViqsZzGo2iNrUpuzl)

Video