Fusion Core Intro

Overview

Fusion Core is the engine-agnostic C++ networking SDK at the heart of Photon Fusion 3.
It provides state replication, remote procedure calls (RPCs) and area-of-interest management through a compact, single-threaded API.
The SDK runs on any platform with a C++20 compiler and integrates with any game engine through a thin binding layer you write.

Fusion Core operates in SharedMode, where every client owns and simulates its own objects while the Photon server maintains a stateful cache for automatic late-join synchronization and interest management.

Where to Go Next

Documentation Sections

Integration Guides

Practical patterns for building an engine integration.

Document Description
Quick Start Guide Minimal integration skeleton: logging, construction, connection, frame loop, object creation, sync, shutdown. Complete working code.
Object Sync Patterns Sync loop, Words buffer layout, type-to-word mapping, float bit-cast, 64-bit splitting, arrays, strings, shadow/dirty detection.
Sub-Objects ObjectChild creation flow (authority and remote), pending queue pattern, dual handle pattern, required objects, string heap delegation.
Engine Binding Object::Engine pointer, bidirectional registry, PackedObjectId, type hash convention, spawnable type registry, spawner/factory pattern.

Pitfalls

Document Description
Pitfalls 14 critical gotchas with wrong/right code examples: ObjectTail writes, iteration order, header inclusion, string leaks, spawn data strings, frame loop order, threading, CRT linkage and more.

Header-to-Documentation Mapping

SDK Header Primary Documentation Pages
Client.h Quick Start Guide, Object Sync Patterns, Sub-Objects, Engine Binding, Pitfalls
Types.h Object Sync Patterns, Sub-Objects, Pitfalls
RealtimeClient.h Quick Start Guide, Pitfalls
Broadcaster.h Quick Start Guide, Pitfalls
SubscriptionBag.h Quick Start Guide, Pitfalls
Task.h Quick Start Guide, Pitfalls
Result.h Quick Start Guide, Pitfalls
Buffers.h Object Sync Patterns
StringHeap.h Object Sync Patterns, Sub-Objects, Pitfalls
LogOutput.h Quick Start Guide

For newcomers integrating the Fusion 3 SDK into a new engine:

  1. Quick Start Guide -- End-to-end minimal working example: logging, client construction, connection via RealtimeClient, the frame loop, creating an object, syncing a property and shutdown.

  2. Object Sync Patterns -- Deep dive into the Words buffer: how to map types to words, compute offsets, write/read floats and vectors, handle arrays and manage string properties via the StringHeap.

  3. Pitfalls -- The 14 most common mistakes. Read this before writing production code. Each pitfall includes wrong/right code examples and a clear prevention rule.

  4. Engine Binding -- How to connect SDK objects to engine objects: the bidirectional registry, type hash conventions, spawnable scene registration and the spawner/factory pattern.

  5. Sub-Objects -- Advanced topic: creating child objects, handling the two-step creation flow, the pending queue for out-of-order arrivals, the dual handle pattern for authority checks and required objects.

After completing this sequence you will have a solid foundation for building a complete Fusion integration.
Refer back to individual guides as needed during implementation.

Back to top