Fusion Unreal Intro

Overview

Photon Fusion Unreal is a high-performance netcode SDK based on state replication. It is based on a distributed authority architecture, which brings together cost efficiency and low operation complexity when compared to the traditional client-server model of the built-in Unreal Netcode.

At the same time, it is built with an engine-first approach, in that most if not all host engine features should work out of the box.

Alternative to Client-Server Architecture

Unreal Engines includes built-in client-server replication that covers many important use cases. However, maintaining dedicated servers comes with increased costs + complex orchestration, and letting game clients/players be the host is not a viable solution either due to inconsistent quality.

Fusion Unreal operates exclusively with shared topology, where clients have authority over actors they spawn, and with our cost-efficient and battle proven Photon Cloud acting as the central hub for the game state distribution, interest management and other features.

Below is a comparison table between the Fusion Shared authority model and Unreal´s built-in client server Netcode. Fusion works specially well for coop, VR and mobile, where running costs + scalability are an important factor.

Comparison table between Fusion Shared and Unreal´s built-in client server approaches

Unreal-first Approach

Fusion Unreal works as an Unreal Plugin, with no need to compile a fork of the engine, or any other complexity. Just include the plugin into your project, and start developing.

It also respects the existing Unreal Netcode semantics, so setting UProperties to Replicate/RepNotify will automatically make them be replicated by Fusion as well, with the expected results.

There is also no need to inherit any special types, being possible to define actors, components and properties either in C++ or directly via Blueprints. The same is true for writting game logic, which can also be done directly from existing UE Tick() (both C++ and BP).

RPCs with very similarly to the built-in ones, but due to the special Shared Authority semantics required to specify targets, Fusion defines custom Blueprint nodes for those.

More details can be learned by following the Quick Start Guide

Forecast: Distributed Physics Prediction

Fusion Unreal includes our state of the art distributed physics prediction module called Forecast. It integrats directly with Unreal´s Chaos Physics, being automatically enabled when physics is used by a replicated actor. Below is an example from the Quick Start Guide showing two character actors interacting seamlessly with a physics-body ball:

Players interacting with the physics based object

It can also be fully disabled, or tweaked to better suit specific needs, but default settings are great for interative objects and vehicles, for example.

Server-side Logic (Beyond Engine Code)

Even though Fusion is “serverless” in the sense that it does not require an Unreal Engine instance as a server, it is also not a peer-to-peer system. The play session instances are hosted via the Photon Cloud infra structure, and have their game state managed by our servers.

While this immediately supports area-of-interest and object prioritization game-agnosticaly, this also allows future addition of light-weight server code if it becomes necessary.

The key Fusion feature that enables this is that both type-layouts and data are uploaded to the Photon Cloud. This allows offloading some critical code paths to run very efficiently on Photon Servers (via enterprise hosting), like: lag componsation, line of sight checks, actor movement velocity validations, custom changes to specific network actors or components, etc.

Get in touch if you are interested in evaluating this feature once it is fully rolled out.

Where to go next

To get started with Photon Fusion Unreal we strongly recommend beginning with the Quick Start Guide, which teaches you all the necessary basics to get started with your first project.

Back to top