# qubitgt/qubit architecture

> Architecture diagram of the GitHub repository qubitgt/qubit, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-27). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/qubitgt/qubit
- Repository: https://github.com/qubitgt/qubit

## Overview

Seralyth Menu is a Gorilla Tag mod menu. The principal flow is a player interacting with the in-game menu to configure or activate mods, which affect game behavior through runtime patches. Distinct branches cover custom maps/scripts, social features, notifications and voice, and Discord presence. The README documents service integrations; sampled excerpts confirm selected calls, but most module wiring is not shown, so uncertain connections are omitted.

Main entry points: [`Menu/Main.cs`](https://github.com/qubitgt/qubit/blob/master/Menu/Main.cs) (Menu UI), [`Menu/Buttons.cs`](https://github.com/qubitgt/qubit/blob/master/Menu/Buttons.cs) (Menu actions), [`Mods/CustomMaps/Manager.cs`](https://github.com/qubitgt/qubit/blob/master/Mods/CustomMaps/Manager.cs) (Custom maps), [`Managers/FriendManager.cs`](https://github.com/qubitgt/qubit/blob/master/Managers/FriendManager.cs) (Friend system)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_entry["Runtime and menu"]
  node_plugin["Plugin entry<br/>[Plugin.cs]"]
  node_menu["Menu UI<br/>[Main.cs]"]
  node_buttons["Menu actions<br/>[Buttons.cs]"]
  node_patches["Game patches<br/>[PatchHandler.cs]"]
end

subgraph group_mods["Mod capabilities"]
  node_modsets["Mod catalog"]
  node_custommaps["Custom maps<br/>[Manager.cs]"]
  node_maploader["Map loading<br/>[SceneMapLoader.cs]"]
end

subgraph group_social["Social and feedback"]
  node_friends["Friend system<br/>[FriendManager.cs]"]
  node_notifications["Notifications"]
  node_voice["Voice processing<br/>[VoiceManager.cs]"]
  node_boards["Custom boards"]
end

subgraph group_integrations["External integrations"]
  node_discordrpc["Discord presence"]
  node_pipe["Named pipe transport"]
end

subgraph group_internal["Runtime support"]
  node_utilities["Game utilities"]
  node_manager_registry["Manager registry<br/>[ManagerRegistry.cs]"]
  node_patch_safety["Safety patches"]
end

node_player(("Player"))
node_gorilla["Gorilla Tag"]
node_discord["Discord desktop"]
node_menu_services["Menu services"]
node_ai_service["AI text service"]
node_tts_service["TTS services"]

node_player -->|"opens and configures"| node_menu
node_menu -->|"renders actions"| node_buttons
node_plugin -->|"installs patches"| node_patches
node_buttons -->|"activates mods"| node_modsets
node_buttons -->|"opens map controls"| node_custommaps
node_custommaps -->|"starts map scripts"| node_maploader
node_patches -->|"changes game behavior"| node_gorilla
node_modsets -->|"provides mod features"| node_gorilla
node_custommaps -->|"updates map actions"| node_buttons
node_friends -->|"reports outcomes"| node_notifications
node_friends -.->|"uses social services"| node_menu_services
node_menu -.->|"requests AI text"| node_ai_service
node_menu -.->|"requests speech audio"| node_tts_service
node_menu -->|"displays menu"| node_gorilla
node_voice -->|"reads microphone audio"| node_gorilla
node_boards -->|"updates in-game boards"| node_gorilla
node_discordrpc -->|"uses transport"| node_pipe
node_pipe -->|"exchanges presence data"| node_discord
node_manager_registry -->|"resolves game managers"| node_gorilla
node_patch_safety -->|"intercepts game calls"| node_gorilla

click node_plugin "https://github.com/qubitgt/qubit/blob/master/Plugin.cs"
click node_menu "https://github.com/qubitgt/qubit/blob/master/Menu/Main.cs"
click node_buttons "https://github.com/qubitgt/qubit/blob/master/Menu/Buttons.cs"
click node_patches "https://github.com/qubitgt/qubit/blob/master/Patches/PatchHandler.cs"
click node_modsets "https://github.com/qubitgt/qubit/tree/master/Mods"
click node_custommaps "https://github.com/qubitgt/qubit/blob/master/Mods/CustomMaps/Manager.cs"
click node_maploader "https://github.com/qubitgt/qubit/blob/master/Mods/CustomMaps/SceneMapLoader.cs"
click node_friends "https://github.com/qubitgt/qubit/blob/master/Managers/FriendManager.cs"
click node_notifications "https://github.com/qubitgt/qubit/blob/master/Managers/NotificationManager.cs"
click node_voice "https://github.com/qubitgt/qubit/blob/master/Managers/VoiceManager.cs"
click node_boards "https://github.com/qubitgt/qubit/blob/master/Managers/CustomBoardManager.cs"
click node_discordrpc "https://github.com/qubitgt/qubit/blob/master/Managers/DiscordRPC/DiscordRpcClient.cs"
click node_pipe "https://github.com/qubitgt/qubit/blob/master/Managers/DiscordRPC/IO/ManagedNamedPipeClient.cs"
click node_utilities "https://github.com/qubitgt/qubit/tree/master/Utilities"
click node_manager_registry "https://github.com/qubitgt/qubit/blob/master/Utilities/ManagerRegistry.cs"
click node_patch_safety "https://github.com/qubitgt/qubit/tree/master/Patches/Safety"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_plugin,node_menu,node_buttons,node_patches toneBlue
class node_modsets,node_custommaps,node_maploader toneAmber
class node_friends,node_notifications,node_voice,node_boards toneMint
class node_discordrpc,node_pipe toneRose
class node_utilities,node_manager_registry,node_patch_safety,node_player,node_gorilla,node_discord,node_menu_services,node_ai_service,node_tts_service toneIndigo
```

## Components

### Runtime and menu

- [Plugin entry](https://github.com/qubitgt/qubit/blob/master/Plugin.cs): `Plugin.cs`
- [Menu UI](https://github.com/qubitgt/qubit/blob/master/Menu/Main.cs): `Menu/Main.cs`
- [Menu actions](https://github.com/qubitgt/qubit/blob/master/Menu/Buttons.cs): `Menu/Buttons.cs`
- [Game patches](https://github.com/qubitgt/qubit/blob/master/Patches/PatchHandler.cs): `Patches/PatchHandler.cs`

### Mod capabilities

- [Mod catalog](https://github.com/qubitgt/qubit/tree/master/Mods): `Mods`
- [Custom maps](https://github.com/qubitgt/qubit/blob/master/Mods/CustomMaps/Manager.cs): `Mods/CustomMaps/Manager.cs`
- [Map loading](https://github.com/qubitgt/qubit/blob/master/Mods/CustomMaps/SceneMapLoader.cs): `Mods/CustomMaps/SceneMapLoader.cs`

### Social and feedback

- [Friend system](https://github.com/qubitgt/qubit/blob/master/Managers/FriendManager.cs): `Managers/FriendManager.cs`
- [Notifications](https://github.com/qubitgt/qubit/blob/master/Managers/NotificationManager.cs): `Managers/NotificationManager.cs`
- [Voice processing](https://github.com/qubitgt/qubit/blob/master/Managers/VoiceManager.cs): `Managers/VoiceManager.cs`
- [Custom boards](https://github.com/qubitgt/qubit/blob/master/Managers/CustomBoardManager.cs): `Managers/CustomBoardManager.cs`

### External integrations

- [Discord presence](https://github.com/qubitgt/qubit/blob/master/Managers/DiscordRPC/DiscordRpcClient.cs): `Managers/DiscordRPC/DiscordRpcClient.cs`
- [Named pipe transport](https://github.com/qubitgt/qubit/blob/master/Managers/DiscordRPC/IO/ManagedNamedPipeClient.cs): `Managers/DiscordRPC/IO/ManagedNamedPipeClient.cs`

### Runtime support

- [Game utilities](https://github.com/qubitgt/qubit/tree/master/Utilities): `Utilities`
- [Manager registry](https://github.com/qubitgt/qubit/blob/master/Utilities/ManagerRegistry.cs): `Utilities/ManagerRegistry.cs`
- [Safety patches](https://github.com/qubitgt/qubit/tree/master/Patches/Safety): `Patches/Safety`

### Other components

- **Player**
- **Gorilla Tag**
- **Discord desktop**
- **Menu services**
- **AI text service**
- **TTS services**

## Connections

- Player → Menu UI: opens and configures
- Menu UI → Menu actions: renders actions
- Plugin entry → Game patches: installs patches
- Menu actions → Mod catalog: activates mods
- Menu actions → Custom maps: opens map controls
- Custom maps → Map loading: starts map scripts
- Game patches → Gorilla Tag: changes game behavior
- Mod catalog → Gorilla Tag: provides mod features
- Custom maps → Menu actions: updates map actions
- Friend system → Notifications: reports outcomes
- Friend system → Menu services: uses social services
- Menu UI → AI text service: requests AI text
- Menu UI → TTS services: requests speech audio
- Menu UI → Gorilla Tag: displays menu
- Voice processing → Gorilla Tag: reads microphone audio
- Custom boards → Gorilla Tag: updates in-game boards
- Discord presence → Named pipe transport: uses transport
- Named pipe transport → Discord desktop: exchanges presence data
- Manager registry → Gorilla Tag: resolves game managers
- Safety patches → Gorilla Tag: intercepts game calls
