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 |
Recommended Reading Order
For newcomers integrating the Fusion 3 SDK into a new engine:
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.
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.
Pitfalls -- The 14 most common mistakes. Read this before writing production code. Each pitfall includes wrong/right code examples and a clear prevention rule.
Engine Binding -- How to connect SDK objects to engine objects: the bidirectional registry, type hash conventions, spawnable scene registration and the spawner/factory pattern.
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.