DOCUMENTATION

Destiny 2

How Destiny 2 works: data formats, network protocols and engine systems.

These pages describe how the game works: its data formats, its network protocols and its engine systems. The facts come from reverse engineering the client that Sunrise runs on.

Every page is about PC build 86657, the build Sunrise uses. It is dated 2020-08-23, in Season of Arrivals, the last season before Beyond Light. Other builds differ, and layouts and ids may not carry over. The build has the details.

Conventions:

  • Most function and field names are descriptive names, not Bungie’s. The game ships without most of its names.
  • Offsets are in hex. Sizes are in bytes unless a page says bits.
  • Data layouts are C-like structs. Logic is C-like pseudocode.
  • A fact that is not proven is marked “unverified” or “unknown”.

For how Sunrise answers the game, see Sunrise.

October 15, 2026

The build

The Destiny 2 build Sunrise targets, its reference build, and how it differs from newer builds and Destiny 1.

Read more →
October 15, 2026

Packages

The Tiger package format: file names, header, entry table, blocks, named tags, and how entries get loaded.

Read more →
October 15, 2026

Tags, classes and definitions

Tag hashes, tag classes, the definition registry, field descriptors and the bit-packed codec.

Read more →
October 15, 2026

Items, characters and inventory

The account, character and item objects the client holds, and the package tables they point into.

Read more →
October 15, 2026

Collections, vendors and other catalogs

The investment catalogs beyond items: collectibles, objectives, records, progressions, vendors, plug sets, map nodes, strings and icons.

Read more →
October 15, 2026

Weapons and perks

How a weapon is put together from package data: sandbox perks, weapon type, fire rate tables, first-person presentation, firing effects and sounds.

Read more →
October 15, 2026

Behaviors

The compiled logic in the packages: object behaviors on entities, perk programs, unlock expressions and UI bindings. How each runs, and how to decompile and recompile it.

Read more →
October 15, 2026

Activities and destinations

The activity and destination tables, how the client loads a level and picks a spawn point, how a mission is authored, public regions and waypoints.

Read more →
October 15, 2026

The Activity Host protocol

How the client talks to the Activity Host: the envelope, the message ids, slots, and the Auth and Sense tables.

Read more →
October 15, 2026

Network stack

The client's network protocols: SignOn, the bdLobby services, the web-service RPC, replicated objects, matchmaking and the peer transport.

Read more →
October 15, 2026

Bootflow

The client's boot state machine: its 79 steps, how a step runs, and how it fails.

Read more →
October 15, 2026

Rendering

How package data drives the D3D11 renderer: TFX, scopes, stages, materials, lighting, shadows, fog, atmosphere, water and decorators.

Read more →
October 15, 2026

Effects and particles

How maps and entities place effects: particle nodes, the sequence player, particle locations, systems, emitters and their programs, and lens flares.

Read more →
October 15, 2026

The UI format

How the game UI ships as package data and runs: screens, hierarchies, widget tables, bindings, layout, text, fonts and bitmaps.

Read more →
October 15, 2026

World geometry and collision

Static map instances, culling, occlusion tomes, level of detail, baked Havok collision, entity physics, hitboxes and the collision filter.

Read more →
October 15, 2026

Audio and music

The game's Wwise banks, music transitions, random playlists, switches, clip automation and 2D panning.

Read more →
October 15, 2026

Actors and AI

How client actors get commands and walk, action kinds, the authored squad spawner, and the class definitions objects are built from.

Read more →