Skip to content
Ethan edited this page Sep 26, 2025 · 2 revisions

OMGG Chronicle - Overview

OMGG's Logo


What is Chronicle?

Chronicle is a game event logging system inspired by the system in Sid Meyer's Civilization 6. It tracks all important actions that occur in the game and displays them to players in an organised manner, with callbacks to trigger specific actions.

Each event can represent, for example:

  • The discovery of a new city
  • The death of a unit
  • The completion of a quest
  • The appearance of a special event on the map

The Chronicle package is designed to be network-agnostic: entries are generated and validated by a central manager, then broadcast to clients via a broadcaster implementing IChronicleBroadcaster. This allows Chronicle to be used for both local and multiplayer games using Unity Fusion or any other network solution.


Main features

Here is a summary of Chronicle's main features:

  • Each event is encapsulated in a ChronicleEntry, which can be adapted to each game.
  • A unique identifier and timestamp can be used to check for event duplication.
  • Events can be filtered by priority.
  • A manager manages the history and sends data.
  • Developers can be allowed to define how they respond to events.

Example of use

A typical flow:

ChronicleManager.AddEvent(entry)
   |
   |
Broadcast via IChronicleBroadcaster
   |
   |
UI (ChronicleEntryUI)
   |
   |
ActionResolver.ExecuteAction(entry)
   |
   |
Optional Payload fetch
  1. The manager adds an entry and assigns it a unique ID.
  2. The broadcaster sends the entry to all clients.
  3. The client instantiates a UI element (tooltip, icon, text).
  4. The user clicks on the entry, and the ActionResolver triggers the corresponding action.
  5. Additional data can be retrieved via PayloadJson.

Clone this wiki locally