# Technical Summary - HALLUCINATE Project ## Overview Project HALLUCINATE is a Unity-based multiplayer game utilizing **Photon Fusion** for networking and **UI Toolkit** for front-end management. Recent development has concentrated on the core networking infrastructure and the lobby system. ## Modified Files - `Assets/Scripts/Network/BasicSpawner.cs`: Centralized `NetworkRunner` management, handling session creation, joining, and player profile initialization. - `Assets/Scripts/UI/LobbyController.cs`: UI logic for room management, password protection, and lounge interactions. - `Assets/Scripts/Player Controller/PlayerStateMachine.cs`: Core player logic (referenced in memory). ## Key Logic & Decisions - **Network Architecture**: Singleton `BasicSpawner` manages the Fusion runner lifecycle. Session joining uses `SessionLobby.ClientServer`. - **UI Architecture**: `LobbyController` inherits from a base UI class and uses direct `VisualElement` queries for dynamic UI updates (UXML/USS). - **Security**: Implementation of session passwords via custom properties in Photon sessions. - **State Sync**: Player status (Ready/Start) and lounge info are synchronized between clients, likely via `PlayerDataManager`. ## Next Steps - [ ] Verify RPC/SyncVar logic in `LobbyController.cs`. - [ ] Connect `PlayerStateMachine` to the spawning flow in `BasicSpawner`. - [ ] Implement/Finalize the chat system within the lobby lounge. - [ ] Ensure all scene transitions (Main Scene) are robust.