Skip to main content

Configuration File

HoloMIT SDK uses a configuration file called config.json to define startup parameters, media settings, streaming preferences, and login credentials. This file allows you to customize how the application behaves — without modifying code. This file is located inside the StreamingAssets folder.

It is especially useful for:

  • Setting default options (codec, resolution, logging)
  • Enabling/disabling features (MCU, GPU encoding)
  • Defining user sessions and credentials
  • Preconfiguring system performance profiles (FPS, LoD, etc.)
  • Add new configurations by your own

Where is it used?

The config.json file is read automatically at application startup. You can find or override it in the root of the executable folder or project directory. The settings defined here will be applied globally across all systems.


Structure Overview

Here’s a breakdown of the main sections and what they control:


App Settings

"AppTargetFPS": 90,
"NonHMDHeight": 1.5
  • AppTargetFPS: Target framerate for the application (typically 90 for XR)
  • NonHMDHeight: Default user height when no headset is connected

Logging

"LoggerConfig": {
"logDetail": 7,
"fontSize": 12
}
  • logDetail: Controls what logs are shown (7 = Verbose, 4 = Error, 2 = Warning, 1 = Log, 0 = None)
  • fontSize: Size of the in-app logging overlay (if enabled)

More info: see Logging System


Statistics & Metrics

"Stats": {
"StatsInterval": 2,
"GeneralMetrics": "https://20.73.182.132:9091"
}
  • Enable output of performance metrics every few seconds
  • Optionally push metrics to a remote Grafana server

Audio

"Audio": {
"codec": 1
}
  • Select audio codec (1 = OPUS, 0 = SPEEX)

Video Streaming

Includes settings for webcam and volumetric pipelines:

"WebCam": {
"Codec": "h264",
"Fps": 15,
"Gpu": false
}
"VideoDistributor": {
"Codec": "h265",
"Gpu": true
}
  • Choose compression settings
  • Enable encoding/decoding GPU acceleration
  • Set frame rate

HoloCapturer Pipeline

"RGBPMs": { ... }

This section defines how Volumetric Video streams are captured, encoded, and rendered.

Key settings:

  • Codec: Video codec used for compression (e.g., h265, h264)
  • Gpu: Enables GPU acceleration for encoding
  • Fps: Define frame rate of the capturer.
  • CrfCol / CrfPos: Compression quality parameters
  • PixFormat: Pixel format used (0 = YUV444p, 1 = YUV420p)
  • Render.CellSize: Size of rendered point cloud cells (affects resolution and performance)

Note: These parameters can be adjusted to balance quality and performance depending on your hardware and use case.


Backend Managers

"Managers": {
"IndexManager": "...",
"MetricsManager": "..."
}

These are the endpoints used to connect to:

  • Session Indexing
  • Media Routing
  • Metrics/Health servers

Login & Credentials

"LoginCredentials": {
"UserName": "1",
"UserPassword": "1",
"RepresentationType": 0
}

This section works for automatizations and perform automatic-login or procedures.

Set default login credentials and user configuration:

  • RepresentationType: What type of avatar is used (0 = Avatar, 1 = RGBD, etc.)
  • MicrophoneName / WebcamName: Select specific devices

How to Use

  1. Open the file with any text editor (e.g., VSCode, Notepad++)
  2. Change values based on your deployment needs
  3. Save and restart the app to apply the changes

No coding is required. Just make sure the file stays in valid JSON format.


Tips

  • Use "Verbose" logging during testing; revert to "Warning | Error" in production
  • Lower frame rate and bitrate for low-bandwidth environments
  • Avoid changing "Managers" URLs unless instructed by an administrator

The config.json file allows rapid iteration and configuration of HoloMIT features — all without rebuilding your Unity project.