# kdivyanshu1012/tiny-together architecture

> Architecture diagram of the GitHub repository kdivyanshu1012/tiny-together, 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/kdivyanshu1012/tiny-together
- Repository: https://github.com/kdivyanshu1012/tiny-together

## Overview

Tiny Together is a Unity 2D cooperative puzzle-platformer: players control two characters through handcrafted levels, solve environmental puzzles, and reach the goal. The tree contains visual, animation, audio, and mobile-control assets, but no game scripts or scenes, so runtime wiring cannot be verified. It also includes a separate Code Assist Unity Editor package; sampled code shows file monitors and preference/input data sent through an MQTT publisher. The Code Assist package’s other capabilities are not mapped because their implementations were not sampled.

Main entry points: [`Packages/com.merry-yellow.code-assist/Editor/MQTTnetPublisher.cs`](https://github.com/kdivyanshu1012/tiny-together/blob/main/Packages/com.merry-yellow.code-assist/Editor/MQTTnetPublisher.cs) (MQTT publisher), [`Packages/com.merry-yellow.code-assist/Editor/Preferences/PreferenceMonitor.cs`](https://github.com/kdivyanshu1012/tiny-together/blob/main/Packages/com.merry-yellow.code-assist/Editor/Preferences/PreferenceMonitor.cs) (Preference monitor), [`Packages/com.merry-yellow.code-assist/Editor/Input/UnityInputManager.cs`](https://github.com/kdivyanshu1012/tiny-together/blob/main/Packages/com.merry-yellow.code-assist/Editor/Input/UnityInputManager.cs) (Input reader), [`Packages/com.merry-yellow.code-assist/Editor/Monitors/NavMeshAreasMonitor.cs`](https://github.com/kdivyanshu1012/tiny-together/blob/main/Packages/com.merry-yellow.code-assist/Editor/Monitors/NavMeshAreasMonitor.cs) (NavMesh monitor)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_gameplay["Game workflow"]
  node_levels["Handcrafted levels"]
  node_puzzles["Environmental puzzles"]
  node_goal["Level goal"]
end

subgraph group_assets["Game assets"]
  node_controls["Mobile controls"]
  node_characterart["Character art"]
  node_animations["Player animations"]
  node_dooranimations["Door animations"]
  node_audio["Music and effects"]
end

subgraph group_assist["Editor assistance"]
  node_inputmonitor["Input monitor"]
  node_inputreader["Input reader"]
  node_filemonitor["File monitor"]
  node_navmonitor["NavMesh monitor"]
  node_preferences["Preference monitor"]
  node_prefstorage["Preference storage"]
  node_publisher["MQTT publisher"]
end

node_player(("Player"))
node_mqtt(("MQTT client"))

node_player -->|"plays through"| node_levels
node_levels -->|"presents"| node_puzzles
node_puzzles -->|"solve to reach"| node_goal
node_inputmonitor -->|"reads changes"| node_inputreader
node_inputreader -->|"sends input data"| node_publisher
node_filemonitor -->|"dispatches changes"| node_navmonitor
node_navmonitor -->|"sends NavMesh data"| node_publisher
node_preferences -->|"monitors preferences"| node_prefstorage
node_preferences -->|"sends preference data"| node_publisher
node_publisher -->|"publishes messages"| node_mqtt

click node_controls "https://github.com/kdivyanshu1012/tiny-together/tree/main/Assets/Graphics/UI/Mobile%20Controls"
click node_characterart "https://github.com/kdivyanshu1012/tiny-together/tree/main/Assets/Graphics/Main%20Characters"
click node_animations "https://github.com/kdivyanshu1012/tiny-together/tree/main/Assets/Animations/PlayerAnimations"
click node_dooranimations "https://github.com/kdivyanshu1012/tiny-together/tree/main/Assets/Animations/DoorAnimatons"
click node_audio "https://github.com/kdivyanshu1012/tiny-together/tree/main/Assets/Audio"
click node_inputmonitor "https://github.com/kdivyanshu1012/tiny-together/blob/main/Packages/com.merry-yellow.code-assist/Editor/Input/InputManagerMonitor.cs"
click node_inputreader "https://github.com/kdivyanshu1012/tiny-together/blob/main/Packages/com.merry-yellow.code-assist/Editor/Input/UnityInputManager.cs"
click node_filemonitor "https://github.com/kdivyanshu1012/tiny-together/blob/main/Packages/com.merry-yellow.code-assist/Editor/Monitors/NavMeshAreasMonitor.cs"
click node_navmonitor "https://github.com/kdivyanshu1012/tiny-together/blob/main/Packages/com.merry-yellow.code-assist/Editor/Monitors/NavMeshAreasMonitor.cs"
click node_preferences "https://github.com/kdivyanshu1012/tiny-together/blob/main/Packages/com.merry-yellow.code-assist/Editor/Preferences/PreferenceMonitor.cs"
click node_prefstorage "https://github.com/kdivyanshu1012/tiny-together/blob/main/Packages/com.merry-yellow.code-assist/Editor/Preferences/PreferenceStorageAccessor.cs"
click node_publisher "https://github.com/kdivyanshu1012/tiny-together/blob/main/Packages/com.merry-yellow.code-assist/Editor/MQTTnetPublisher.cs"

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_levels,node_puzzles,node_goal,node_mqtt toneBlue
class node_controls,node_characterart,node_animations,node_dooranimations,node_audio toneAmber
class node_inputmonitor,node_inputreader,node_filemonitor,node_navmonitor,node_preferences,node_prefstorage,node_publisher toneMint
class node_player toneIndigo
```

## Components

### Game workflow

- **Handcrafted levels**
- **Environmental puzzles**
- **Level goal**

### Game assets

- [Mobile controls](https://github.com/kdivyanshu1012/tiny-together/tree/main/Assets/Graphics/UI/Mobile%20Controls): `Assets/Graphics/UI/Mobile Controls`
- [Character art](https://github.com/kdivyanshu1012/tiny-together/tree/main/Assets/Graphics/Main%20Characters): `Assets/Graphics/Main Characters`
- [Player animations](https://github.com/kdivyanshu1012/tiny-together/tree/main/Assets/Animations/PlayerAnimations): `Assets/Animations/PlayerAnimations`
- [Door animations](https://github.com/kdivyanshu1012/tiny-together/tree/main/Assets/Animations/DoorAnimatons): `Assets/Animations/DoorAnimatons`
- [Music and effects](https://github.com/kdivyanshu1012/tiny-together/tree/main/Assets/Audio): `Assets/Audio`

### Editor assistance

- [Input monitor](https://github.com/kdivyanshu1012/tiny-together/blob/main/Packages/com.merry-yellow.code-assist/Editor/Input/InputManagerMonitor.cs): `Packages/com.merry-yellow.code-assist/Editor/Input/InputManagerMonitor.cs`
- [Input reader](https://github.com/kdivyanshu1012/tiny-together/blob/main/Packages/com.merry-yellow.code-assist/Editor/Input/UnityInputManager.cs): `Packages/com.merry-yellow.code-assist/Editor/Input/UnityInputManager.cs`
- [File monitor](https://github.com/kdivyanshu1012/tiny-together/blob/main/Packages/com.merry-yellow.code-assist/Editor/Monitors/NavMeshAreasMonitor.cs): `Packages/com.merry-yellow.code-assist/Editor/Monitors/NavMeshAreasMonitor.cs`
- [NavMesh monitor](https://github.com/kdivyanshu1012/tiny-together/blob/main/Packages/com.merry-yellow.code-assist/Editor/Monitors/NavMeshAreasMonitor.cs): `Packages/com.merry-yellow.code-assist/Editor/Monitors/NavMeshAreasMonitor.cs`
- [Preference monitor](https://github.com/kdivyanshu1012/tiny-together/blob/main/Packages/com.merry-yellow.code-assist/Editor/Preferences/PreferenceMonitor.cs): `Packages/com.merry-yellow.code-assist/Editor/Preferences/PreferenceMonitor.cs`
- [Preference storage](https://github.com/kdivyanshu1012/tiny-together/blob/main/Packages/com.merry-yellow.code-assist/Editor/Preferences/PreferenceStorageAccessor.cs): `Packages/com.merry-yellow.code-assist/Editor/Preferences/PreferenceStorageAccessor.cs`
- [MQTT publisher](https://github.com/kdivyanshu1012/tiny-together/blob/main/Packages/com.merry-yellow.code-assist/Editor/MQTTnetPublisher.cs): `Packages/com.merry-yellow.code-assist/Editor/MQTTnetPublisher.cs`

### Other components

- **Player**
- **MQTT client**

## Connections

- Player → Handcrafted levels: plays through
- Handcrafted levels → Environmental puzzles: presents
- Environmental puzzles → Level goal: solve to reach
- Input monitor → Input reader: reads changes
- Input reader → MQTT publisher: sends input data
- File monitor → NavMesh monitor: dispatches changes
- NavMesh monitor → MQTT publisher: sends NavMesh data
- Preference monitor → Preference storage: monitors preferences
- Preference monitor → MQTT publisher: sends preference data
- MQTT publisher → MQTT client: publishes messages
