Namespace Serenity.GameCamera.Infrastructure.Services
Classes
UnityGameCameraService
Unity implementation of IGameCameraService. A plain class (no MonoBehaviour — no per-frame work is needed): owns a registry of UnityEngine.Camera instances, resolves which one is "active" right now, and drives exclusive switching, split-screen layout and (optionally) UnityEngine.AudioListener ownership.
Cinemachine-agnostic by construction: switching only ever disables/enables the UnityEngine.Camera COMPONENT, never the GameObject, so a CinemachineBrain (or any other sibling component/rig script) on the same object keeps running untouched.
UnityGameCameraSwitchHolds
Unity implementation of IGameCameraSwitchHolds: switches through the camera service's exclusive switch and counts the holds per switched UnityEngine.Camera, so a camera two volumes switched to is handed back once, when the last of them releases it.