A client library for Archipelago integration that a game can use to connect to an Archipelago server and sync items, locations and room state. It has an ArchipelagoClient that opens a WebSocket, reads and writes JSON packets, and raises events into an ArchipelagoSession that stores players, items, locations and metadata. The protocol layer is a set of DTOs, a packet registry using TypeLibrary, and simple reader and writer utilities.
Unit test project for a library. It boots a Sandbox.TestAppSystem for the test run, creates a Scene with one GameObject, and asserts the scene directory reports the expected count.