Skip to main content

[3.3.0] - 2025-11-20

Added

  • [CoreSystems] Assembly versioning with description and metadata in project properties.
  • [CoreSystems] Custom logging system with configurable log levels.
  • [CoreSystems] OwnershipValidator system to validate if the GameObject is a self user or not.
  • [HoloCapturer] Implemented a native DLL callback channel to receive asynchronous messages directly from the capture backend.
  • [HoloCapturer] Exposed dual-timestamp retrieval (CaptureTimestamp and GenerationTimestamp) for more accurate frame alignment and analytics.
  • [HoloCapturer] Added a OnFirstFrame event, enabling deterministic audio sync and early-stage pipeline orchestration.
  • [HoloCapturer] Local Pre-Recorded pipeline for HoloCapturer.
  • [HoloCapturer] Introduced a CPU-side pre-processing stage to send only valid points to the GPU, improving throughput. Controlled via GPOptimization in config.json.
  • [HoloCapturer] Added normal-based culling implemented at shader level using HoloCuda, with optional CPU pre-filter. Controlled via NormalCulling in config.json.
  • [HoloCapturer] Added upper/lower bound validation during compute buffer generation, with configurable thresholds for safer memory access patterns.
  • [HoloCapturer] Introduced the HoloBinaryPipeline, enabling deterministic playback of binary volumetric datasets across Windows and Android Standalone targets. Designed for cross-platform consistency and improved integration within capture-to-render workflows.
  • [WebCam] SinglePass Rendering compatibility.
  • [UserRepresentations] IsConsumer flag to control whether frames should be received/processed (local: render, remote: receive/process).
  • [UserRepresentations] IsProducer flag to control whether new frames should be produced (local: capture/send, remote: ignored).
  • [UserRepresentations] Config option to exclude specific users from consumption by user name. Controlled via DontConsumeUsers in config.json.
  • [Networking & Interactions] Networked Slide System as a new interaction feature.
  • [Orchestrator] Smart Orchestration: automatic LoD management via changeLod socket event.
  • [Metrics] Metrics integrated into WebCam pipeline.
  • [Tools] Microphone and webcam selection via config.json.
  • [Tools] Dropdown generator from string lists for inspector UI.
  • [Tools] BillboardFX: plug-and-play billboards always facing the active camera.
  • [Tools] Introduced a dedicated InputAction group for the SelfCalibration process, enabling cleaner input orchestration and easier integration with custom control schemes.

Changed

  • [HoloCapturer] Updated to version v4.5.0
  • [HoloCuda] Updated to version v2.4.0
  • [FFmpeg] Updated to version v7.0.2 and Autogen to v7.0.0.
  • [FFmpeg] Automatic FFmpeg DLL detection and setup via SetRootPath.
  • [CoreSystems] Refactored MessageTypeId to follow SOLID principles (extensible by developers).
  • [CoreSystems] Refactored ScenarioID for UI/scene management (extensible by developers).
  • [CoreSystems] Refactored UserRepresentationType for representation instantiation (extensible by developers).
  • [CoreSystems] Refactored Calibration for a better movement and usability (extensible by developers).
  • [HoloCapturer] Renderer now updates in Update instead of LateUpdate.
  • [Orchestrator] Now the HTTP Requests are handled in Async way instead of sequentially.
  • [Metrics] Metrics export redesigned: now supports Prometheus and file output.

Removed

  • [MCU] Deprecated legacy MCU compatibility.
  • [PointClouds] Retired the old PointCloud Pipeline for capture and compression in favor of the modernized, GPU-centric pipelines.
  • [HoloCapturer] Removed the HoloCapturerLocalPipeline, fully replaced by HoloBinaryPipeline and the unified HoloCapturerPipeline.
  • [Orchestrator] Phased out the legacy Service Manager as part of the orchestration subsystem consolidation.
  • [Metrics] Removed the internal metrics exporter; replaced by 3rd-party standard exporters (e.g., Windows Exporter) for broader observability support.
  • [Tools] Dropped the Newtonsoft.Json dependency; now fully migrated to Unity’s native JSON implementation.

Fixed

  • [CoreSystems] Improved GC handling in BaseMemoryChunk to avoid unnecessary collections.
  • [Orchestrator] Correct version parsing in Orchestrator communication.
  • [HoloCapturer] Fixed HoloCapturer transformations (rotation and Z-axis mirroring).
  • [HoloCapturer] Orbbec reconstructor initialization moved to separate thread → avoids blocking Unity’s main thread.
  • [Interactions] Solved a bug when users were releasing and object and it was poping from the hand constantly.
  • [Menu] Prevented duplicate requests being sent before receiving first response.
  • [Menu] Fixed login/scene close button not working in certain states.
  • [Tools] MessageManager now exposes only correct properties with proper naming alignment.