Skip to content

Revision history#

Migrating your project from MiddleVR 2.5 to MiddleVR 3.0#

Note: You don't need to install MiddleVR 3.0 on all your cluster clients. You only need to install it on your cluster server and on your development computers.

On opening your projects after installing MiddleVR 3.0 you might get the following error: Failed to resolve packages: Tarball package [com.middlevr] cannot be found...

You can either continue and load the new packages from the Package Manager from C:/Program Files/MiddleVR3/unity_packages or modify the file Packages\manifest.json and change the line:

"com.middlevr": "file:C:/Program Files/MiddleVR2/unity_packages/com.middlevr.tgz",


"com.middlevr": "file:C:/Program Files/MiddleVR3/unity_packages/com.middlevr.tgz",

Do the same for all the MiddleVR packages your project uses.

You can then click Retry or Quit and reload the project.

  • If needed, delete and re-import the MVRManager.

  • URP: On the MVR_URP GameObject, remove script 'URPSettings' and add script Packages/MiddleVR URP/Runtime/MVR_URPSettings instead.

MiddleVR 3.0.3#

  • Changed: Updated Unity Netcode to 1.8.1
  • Chnaged: MVRNetworkClientTransform will not automatically add a NetworkObject component. The script can now be added to multiple nodes in a hierarchy with only a NetworkObject on the root GameObject.

MiddleVR 3.0.2#

  • Fixed: Performance issue on some multi-GPU systems

MiddleVR 3.0.1#

  • Changed: Updated Vioso dll to 2024.03.14

MiddleVR 3.0#

  • Changed: You must upgrade your license, contact Upgraded licensing lib to LM-X 5.5.1

  • Added: Package MiddleVR_XRInput: MiddleVR wands can now be used as XR controllers as part of Unity's XR infrastructure and XR interaction toolkit. You can use the same build of your app in a XR headset (PC-VR or standalone such as the Meta Quest) or with MiddleVR.

  • Added: Tuto: Adapting an existing Unity XR application to MiddleVR
  • Added: Package MiddleVR_Netcode: Support for multi-user apps, enabling collaboration between Caves, but also Caves and XR headsets (PC-VR or standalone such as the Meta Quest or Apple Vision Pro)
  • Added: demo_office_xr: New demo project using UnityXR & Netcode. Available on our website.
  • Added: Overscan: Better support for post-process effects like Bloom, Motion Blur, Depth of field, Ambient Occlusion and Temporal Anti-aliasing to work in multi-display
  • Added: ClusterTexture: Script to cluster synchronize textures: MiddleVR/Runtime/MiddleVR.Unity.Scripts/Cluster/MVRClusterTexture
  • Added: Package MiddleVR_InputSystem: Support for Unity's new InputSystem with a new package: com.middlevr.inputsystem [Experimental]
  • Added: MPCDI support (Beta). MPCDI is a standard for warping/blending calibration files. MiddleVR only supports MPCDI 2.0 Profile "Advanced 3D Simulation"
  • Added: Warper Mesh support for URP
  • Added: MVRManager: Visualize Screens: Displays the scene on the screens and mesh warpers inside Unity Editor
  • Added: MVRManager: Use Template Camera: Enable or disable the use of a template camera
  • Added: Support for Unity 2023.2 & 2023.3
  • Added: Template configuration: VirtualProduction/VirtualStage_Curved_ICVFX.vrx
  • Added: Template configuration: Standard/Grid.vrx
  • Added: [MVRDisable] class attribute to disable a class depending on the cluster state
  • Added: MVRDisableSample.cs sample script to demonstrate the [MVRDisable] attribute
  • Added: MVRClusterDisableComponents.cs: Disable a Unity component if the cluster node is Server, Client, if cluster is active or not
  • Added: MVRTools.GetMVRManager() to check if the MVRManager is present and enabled
  • Added: MVRTools.WillMVRManagerBeDisabled() to check if the MVRManager will be disabled based on the command line (absence of --config or presence of --mvr-disable-mvr)
  • Added: MVRParentMVRNode.cs: Parents an MVR Node to the current GameObject
  • Added: MVRCopyTextureToViewport.cs: Copies the render of a camera to a MiddleVR viewport
  • Added: MVRStartMVRManager.cs: Allows to start MiddleVR after the application has started
  • Added: MiddleVR config: New advanced options for starting multiuser apps
  • Added: MiddleVR config: New option: Window borders. Adds borders to the compositor window
  • Added: MiddleVR config: Basic 'Undo' support with Ctrl-Z
  • Added: When running MiddleVR installer with the /quiet option, automatically starts MiddleVR_Daemon.exe

  • Changed: Renamed script URPSettings.cs to MVR_URPSettings.cs. On the MVR_URP GameObject, remove script 'URPSettings' and add script 'Packages/MiddleVR URP/Runtime/MVR_URPSettings' instead

  • Changed: Renamed script MVRChangeLevelSample to MVRLoadSceneSample
  • Changed: License is also now locked to the Windows Product ID
  • Changed: Renamed option "UnityWindow" to "NativeWindow"
  • Changed: Renamed option "ServerUnityWindow" to "ServerNativeWindow"
  • Changed: Corner offsets are available for the built-in pipeline and URP. If you need HDRP contact us.
  • Changed: NDI_Viewer now uses the cluster texture by default.
  • Changed: Renamed option MVR Manager option "Show scene on screens" to "Visualize Screens"
  • Changed: Renamed "Pre-defined configurations" to "Template configurations"

  • Fixed: Fullscreen option was not working correctly

  • Fixed: Potential data corruption when sending more 64 kbyte of data via Cluster.BroadcastMessage

  • Removed: Support for Windows 8

  • Removed: Support for Unity 2020.x

  • IL2CPP: If IL2CPP is enabled, your app will compile but synchronization / broadcast messages will not work

MiddleVR 2.5.13#

  • Update Vioso dll (2023-12-12)

MiddleVR 2.5.12#

  • Fix: Warper Mesh & Overscan could result in continuity errors in built-in pipeline and HDRP

MiddleVR 2.5.11#

  • Fix: Warper Mesh: Built-in pipeline + post processing caused a black screen
  • Fix: In some circumstances Xbox One gamepad did not work
  • Fix: Crash when removing a viewport's custom stereo camera
  • Added: Automatically disable "Reseed on Play" on Visual Effects' Particles

MiddleVR 2.5.10#

  • Added: Overscan. This allows post-process effects like Bloom, Motion Blur, Depth of field, Ambient Occlusion and Temporal Anti-aliasing to work in multi-display.
  • Added: Warper Mesh: Offer to auto-scale the mesh if it appears too big or too small
  • Changed: Moved MiddleVR/Runtime/MiddleVR.Unity scripts to MiddleVR/Runtime/MiddleVR.Unity.Scripts/Internal
  • Fix: Warper Mesh: Sometimes mesh was not correctly loaded
  • Fix: Warper Mesh: In certain conditions, black screen when using a stereo camera
  • Fix: In rare conditions camera's near/far clip planes could be wrong

MiddleVR 2.5.9#

  • Added: Support for Unity 2022.3
  • Added: [Experimental] Script to cluster synchronize textures: MiddleVR/Runtime/MiddleVR.Unity.Scripts/Cluster/MVRClusterTexture
  • Changed: renamed script MiddleVR/Runtime/MiddleVR.Unity.Scripts/Interactions/MVRSyncTransform to MVRTransformUnityToMVR
  • Changed: renamed and move script MiddleVR/Runtime/MiddleVR.Unity.Scripts/Samples/MVRVideoSync to Cluster/MVRClusterVideoSyncStart
  • Changed: renamed script MiddleVR/Runtime/MiddleVR.Unity.Scripts/Cluster/MVRSynchronizeParticleSystem to MVRClusterParticleSystem
  • Changed: renamed script MiddleVR/Runtime/MiddleVR.Unity.Scripts/Cluster/MVRSynchronizePlayableDirector to MVRClusterPlayableDirector
  • Changed: renamed script MiddleVR/Runtime/MiddleVR.Unity.Scripts/Samples/MVRShareTransform to MVRClusterTransformSample
  • Changed: renamed script MiddleVR/Runtime/MiddleVR.Unity.Scripts/Samples/MVRClusterShareValuesSample to MVRClusterValuesSample
  • Fix: "Reconnect drivers" buttons were not correctly updated when loading a new configuration
  • Changed: Optitrack drivers now support multiple connections

MiddleVR 2.5.8#

  • Fix: MiddleVR Config: Axis was not shown on selected nodes
  • Fix: Debug cluster in editor mode: Don't exit Unity Editor when not using a cluster configuration
  • Fix: Debug cluster in editor mode: Apply --mvr-port parameter

MiddleVR 2.5.7#

  • Added: Pre-defined configuration: VR/Wall_TripleViewpoint.vrx
  • Added: Option to activate license offline when there is no valid license in the license popup window
  • Added: New "Reconnect Drivers" button in the "Nodes" tab
  • Changed: When "Reconnect Drivers" buttons are enabled, change the outline to red to better indicate that drivers are disconnected

MiddleVR 2.5.6#

  • Changed: Grabbing an object with the wand does not parent it to the wand anymore, the object stays with its current parent
  • Added: Experimental multi-user package: MiddleVR_Netcode

MiddleVR 2.5.5#

  • Added: Support for Unity 2023.1
  • Added: New script Interactions/MVRSyncTransform which will take the local position/orientation of a GameObject and set those to the local position/orientation of an MVRNode
  • Added: New command line parameter: --nostartserver. The network server will not be started
  • Added: New command line tool: VRTools.exe
  • Added: New command for VRTools: --killall : Will kill all cluster nodes from the configuration file
  • Deleted: VRTestConsole.exe. Use VRTools.exe instead
  • Added: New MVRManager advanced parameter: Disengage Untracked Nodes. Allows modification of the transform of an MVR node if it has no tracker assigned.
  • Updated: LMX Tools

MiddleVR 2.5.4#

  • Removed: Don't automatically install DirectX 11 runtime if missing
  • Added: Embed D3DCompiler_43.dll which is needed by Vioso and not available on all systems

MiddleVR 2.5.3#

  • Added: Support for Unity 2022.2

MiddleVR 2.5.2#

  • Added: Automatically install DirectX 11 runtime if missing
  • Fix: Autodetect cluster: If camera already has a screen, don't recreate it.
  • Fix: Autodetect cluster: If a screen already exists, don't issue an error.
  • Fix: Find available cluster port also when in Unity Editor
  • Fix: Find available cluster port in virtual cluster
  • Fix: Vioso issue on cluster clients

MiddleVR 2.5.1#

  • Fix: Mesh warper for 3DSMax FBX
  • Changed: Improved doc for requirements on mesh warper 3d models
  • Added: Predefined configuration VirtualProduction/VirtualStage_Curved.vrx
  • Added: MVRNavigationController: A script to navigate a Character Controller with the Wand.
  • Added: MVRCenterNode: Offsets the current node's position so that the specified MVRNode is centered on this node's parent.
  • Added: Split Viewport: Option to delete the original viewport
  • Added: MVRSwitchUser: Allows the "view" to be passed to other users based on the proximity of the "HandNode" to a user's HeadNode.

MiddleVR 2.5.0#

  • Changed: You must upgrade your license, contact Upgraded licensing lib to LM-X 5.2.3.

  • Added: MiddleVR Config & Unity: ICVFX (In-camera VFX) camera

  • Added: Mesh warping: support curved screens and exotic screen shapes by using a 3D model of the geometry.
  • Added: Ncam driver (beta)
  • Added: Unity: Automatically synchronize all Cinematic Timelines (PlayableDirectors)
  • Added: Unity: Remove CinemachineBrain on MiddleVR cameras
  • Added: Unity: HDRP Settings profiles: "Virtual production - Max tolerance", "Virtual production - Min tolerance", "VR - Stereoscopy - Max tolerance", "VR - Stereoscopy - Min tolerance", "Custom"
  • Added: Unity: HDRP Settings: DisableVisualEnvironment
  • Changed: Unity: HDRP Settings: Renamed DisableExposure to FixedExposure
  • Changed: Unity: MVRWand is now disabled by default in the MVRManager prefab. It will be automatically activated if a MiddleVR Config 3D node containing "HandNode" is found.
  • Changed: Updated Vioso SDK and fix potential view flipping bug
  • Changed: Homography/Corner offsets now use Projective Transform
  • Added: Unity: MVRManager: Editor Log Level
  • Added: MiddleVR Config: Remote update MiddleVR on all cluster nodes
  • Added: MiddleVR Config: Monitoring. Display monitoring information (FPS...) in MiddleVR Config while an app is running
  • Added: MiddleVR Config: Troubleshooting options: Disable rendering, disable stereoscopy, disable network synchronization, disable swaplock, force viewport size
  • Added: MiddleVR Config: New Cluster Management Window. Includes management of Network Drive, Sync Folder and Network
  • Added: MiddleVR Config: Ability to monitor the ping for each cluster node in the new Cluster Management Window
  • Added: MiddleVR Config: Ability to query the local MiddleVR version for each cluster node in the new Cluster Management Window
  • Added: MiddleVR Config: Ability to query local NVidia driver settings like driver version, VSync state, Stereo state ... for each cluster node in the new Cluster Management Window
  • Added: If a network port is already used, try to use another port. This will only work when the server starts the clients. It won't work when starting from MiddleVR config
  • Changed: MiddleVR Config: Split predefined configurations in new categories: Standard, Virtual Production, VR
  • Added: Log NVidia driver settings: Stereo - Enable, Stereo - Display Mode and Quadro Sync info
  • Added: Doc: Section for System administrators
  • Updated: Mo-sys driver
  • Changed: Unity Player: The MVRManager will be disabled at startup if no --config argument is found on the command line. This allows an app to be used with or without MiddleVR at runtime.
  • Removed: Support for Unity 2019.4. Minimum supported version is now 2020 LTS.
  • Removed: UnityXR package
  • Removed: 9997 TCP port is not used anymore
  • Fixed: Random bug which caused the cluster clients to try to checkout a license.

Migrating your project from MiddleVR 2.3 to MiddleVR 2.4#

  • Simply restarting Unity should automatically upgrade the packages. Make sure that the MiddleVR version is 2.4 in the Package Manager.

  • If needed, delete and re-import the MVRManager.

MiddleVR 2.4.0#

  • Added: Multi-view projectors support
  • Added: MiddleVR_NDI package to stream content to Unity (Windows desktop, phone/tablet webcam or screen).
  • Added: Support for Unity 2022.1
  • Added: Doc paragraph: "Can I use a VR HMD to develop/test ?"
  • Added: Calibration app now displays current viewport
  • Added: In MiddleVR Config, added a "Copy" button next to the Command Line to copy the current command line to the clipboard
  • Added: License expiring date in MiddleVR Config window title
  • Added: MiddleVR Config: Menu View > Reset View will also reset the scale of the viewports display
  • Deprecated: Compositor OpenGL mode
  • Changed: In MiddleVR config, Window Mode & Compositor Mode are now in the Advanced parameters of Window
  • Changed: Increased ClientConnectionTimeout to 360s when using Debug Cluster in Editor to avoid getting disconnected with heavy apps
  • Removed: Internal NDI streaming, replaced by the MiddleVR_NDI package
  • Fixed: Sometimes MiddleVR config would not start because of corrupted %appdata%/MiddleVR/Settings2.json
  • Fixed: When using a non warped viewport with Vioso or Scalable, it was flipped.
  • Fixed: Bug when using corner offsets/homography on one viewport but not the others could result in other viewports' corners being wrong
  • Fixed: Don't add MiddleVR specific command line arguments (like -logfile) if no --config argument was found on the command line
  • Fixed: License was not correctly checked for clients in editor when using Editor Cluster Debugging
  • Fixed: Errors when Wand does not have buttons assigned
  • Fixed: Performance issues when using Screens Array in cluster
  • Fixed: Crash when using Debug Cluster in Editor with Tracker simulators in client mode
  • Fixed: Random crash in Unity 2021

Migrating your project from MiddleVR 2.2 to MiddleVR 2.3#

On opening your projects after installing MiddleVR 2.3 you might get the following error: An error occurred while resolving packages: Project has invalid dependencies: com.middlevr (...) cannot be found

You simply need to modify the file Packages\manifest.json and change the com.middlevr-2.2.0.tgz to com.middlevr.tgz. Do the same for all the MiddleVR package your project uses.

You can then click Retry or Quit and reload the project.

MiddleVR 2.3.2#

  • Add: MVRVideoSync.cs in MiddleVR.Unity.Scripts/Samples to synchronize the play/pause of a video
  • Fix: Vioso bug where display was dark. Also improved Vioso doc.

MiddleVR 2.3.1#


  • Multi-view projectors support

MiddleVR 2.3.0#


  • HDR: Support for High dynamic range (HDR10) displays (beta)
  • Support for Unity 2020.3
  • Support for Unity 2021.1
  • Support for Unity 2021.2
  • Virtual production:

    • Stype camera tracking (beta)
    • Vanishing point camera tracking (beta)
    • Mo-sys camera tracking (beta)
  • New predefined configuration files:

    • VirtualStage-Optitrack.vrx: A simple virtual stage with a camera and a light tracked by Optitrack
    • VirtualStage-Stype.vrx: A simple virtual stage with a camera and a light tracked by Stype
    • VirtualStage-VanishingPoint.vrx: A simple virtual stage with a camera and a light tracked by Vanishing Point
    • VirtualStage-ViveController.vrx: A simple virtual stage with a camera and a light tracked by Vive controllers
  • Pressing Shift-F toggles Fly on Joystick & Elastic navigations.

  • Doc: More information about post-processing effects compatibility

  • Doc: More information about LoadScene
  • New script to display the render of a camera as a floating view, useful for virtual production MiddleVR/Runtime/MiddleVR.Unity.Scripts/Interactions/MVRDisplayCameraRender.cs
  • Screens Array: New "Horizontal Screens Angle" parameter for easier curved screen configuration
  • Adding --bat command line arguments to fix multi-gpu and log filename issues when running from a batch or shell script.


  • Execution order of MVRClusterObject and MVRManagerPostFrameScript.cs increased to 31050 and 32000 respectively
  • MVRInteractionManipulationRay::Grab/Ungrab is now public


  • Removed support for Unity 2018.4, 2019.1, 2019.2, 2019.3
  • Removed support for Window Mode Proxy


  • Fixed rotation when using the wand joystick which used the wrong pivot. It now correctly rotates around the HeadNode

Migrating your project from MiddleVR 2.1 to MiddleVR 2.2#

  • Before upgrading to MiddleVR 2.2: Remove the MiddleVR packages from your project and add them back after upgrading MiddleVR.
  • If you have already upgraded to MiddleVR 2.2: In your project, edit the Packages/manifest.json file and remove all the "com.middlevr" lines. Then open your project and add the new packages.

  • Important: If you want to use the Folder Sync feature you need to install the new MiddleVR Daemon on all your cluster nodes. The simplest way to do this is to run the MiddleVR installer.


Change packages names for easier upgrading in the future:

- com.middlevr.tgz
- com.middlevr.urp.tgz
- com.middlevr.hdrp.tgz



  • Folder sync: For faster startup times, you can now synchronize the shared folder to a local folder on all cluster clients.
  • Beta support for Stype camera tracking
    • Native Stype driver
    • New pre-defined configuration: Stype.vrx
  • Beta support for Vanishing point camera tracking (Vector & Viper)
    • New pre-defined configuration: VanishingPoint.vrx
  • Screens Arrays with optional overlap / bezel / blending and curvature
  • Screen Origin
  • Viewport corners offsets, aka Homography
  • Viewports horizontal or vertical blending zones
  • Support for Unity 2020.2
  • Auto viewports creation - Split current viewport
  • Experimental support for NDI video streaming protocol to support (
  • Auto-updater for future versions
  • New dual viewpoint default configuration: Wall_DualViewpoint.vrx


  • Unity packages are now .tgz files instead of folders:

    • com.middlevr.tgz
    • com.middlevr.urp.tgz
    • com.middlevr.hdrp.tgz

    Only the MiddleVR folder is kept as a folder for compatibility with Unity 2018.4 which does not support tgz packages: - MiddleVR Config: Cluster autodetect offers to select the cluster hosts to include - Renamed predefined configuration VirtualStage.vrx to VirtualStage_ViveController.vrx - Disabled NVidiaSwaplock by default - If no node is selected, new nodes will be parented to SystemCenter - License now recognizes 4K resolution as between 2561 x 1601 and 4096 x 2400


  • MiddleVR config zoom was limited
  • License window disappeared


  • Window Mode Proxy will be removed in next versions


  • Fix: Autocreate stereo cameras from screen was not creating cameras with a correct name
  • Fix: Wand ray now correctly is green when hovering a MVRActor Game Object
  • Fix: Autodetect cluster infos was still detecting some infos even if disabled


  • Fix bug where couldn't type values in MiddleVR config
  • Add ability to type math expression in MiddleVR config. Examples: '1+2', 'Pi * 3'
  • MVRAttachToNode: -- Rename VRParentNode to MVRParentNode -- Add property "Disable Game Object If Parent Not Found"
  • MVRManager now automatically adds a MVRClusterObject to itself so when it is manipulated it is automatically synchronized
  • Time.timeScale and Time.fixedDeltaTime are now automatically synchronized
  • Animators CullingMode is now automatically set to AlwaysAnimate for better chances of animations being correctly synchronized

MiddleVR 2.1.0#

Migrating your project from MiddleVR 2.0 to MiddleVR 2.1#

  • Delete the folder Assets/MiddleVR
  • Follow the tutorial "Setup MiddleVR in Unity"

  • ** Important: You need to install the new MiddleVR Daemon on all your cluster nodes. The simplest way to do this is to run the MiddleVR installer.


  • Support for Universal Render Pipeline (URP) and High Definition Render Pipeline (HDRP)
  • Support for Warping & Blending with Vioso AnyBlend and Scalable Display EasyBlend
  • Preview Window: Visualize your multi-display cameras in a preview window inside Unity Editor. Also supports active stereoscopy.
  • DirectX 12 is now supported, starting from Unity 2019.3
  • Use new Unity Package Manager instead of the .unitypackage method -- All the packages are now in Program Files/MiddleVR2/unity_packages
  • Ability to debug any cluster node from Unity Editor
  • Cluster Clients can send messages to cluster server
  • Experimental: Cluster Object can sync any MonoBehaviour field
  • The MiddleVR nodes hierarchy is now created under the MVRManager
  • New MVRManager option: Attach To Camera: Parent the MVRManager to the first active camera.
  • New MVRManager options layout
  • Support for Unity 2020.1
  • Remove MVRManager options: VRRootNode, DontChangeWindowGeometry, GrabExistingNode, Debug Node & Debug Screen
  • Support for IL2CPP
  • Fix bug where clients near/far might be wrong


  • New window mode: Compositor. Use this mode for better performances, stability, but also live preview of your multi-display window (even stereoscopy) in Unity Editor!
  • New default configuration: VirtualStage.vrx
  • Rename "VRSystemCenterNode" to "SystemCenter"
  • Documentation: new theme
  • Fix bug where you lost keyboard/mouse input when clicking outside Unity's Game view
  • Add SteamVR/OpenVR trackers support
  • Installer and all .exe files are now digitally signed
  • Installer opens firewall ports automatically: -- TCP: 9995,9997,9998,9999 -- UDP: 9996,9998
  • Enable trial even if trial was activated with MiddleVR 1.x
  • API: Change some keyboard VRK_ constants. Check "Keyboard keys".
  • API: Rename vrClusterManager::GetClusterClientNb to vrClusterManager::GetClusterClientsNb
  • Fix Windows 7 compatibility

MiddleVR Config#

  • New Autodetect feature: Speed up your setup by automatically detecting all cluster nodes on a network that have a daemon running.
  • Update Display tab to show all the cluster nodes and their displays along with the viewports
  • You can now assign a viewport to a cluster node in the Displays tab
  • Add buttons for automatic creation of viewports, cameras, cluster nodes and screens
  • Add "Fit to display" button to automatically resize a viewport to the display
  • Add "Enable All" and "Disable All" buttons for cluster nodes
  • Add "Start local MiddleVR daemon" button
  • Add "Connect a network folder" section
  • Ability to zoom in and out in the Displays view
  • Ability to drag X/Y/Z & Yaw/Pitch/Roll values by drag the property label
  • New feature in MiddleVR Config: ServerUnityWindow. Creates a standard Unity window that can be moved and has no VSync
  • Remove MiddleVR Config option DisableVSyncOnServer
  • Remove MiddleVR Config option WindowBorders
  • Remove "maximum packet size for image distribution" property which was no longer used
  • Add menu: File > Reload current configuration
  • "Tracker Simulator - Mouse" : In config and unity editor mode, enable mouse tracker simulator only if 'shift' is pressed
  • Devices: don't automatically reconnect drivers when getting focus back. Added new button "Reconnect drivers" for that.
  • MiddleVR config: Press 'F' to Focus on the selected node
  • MiddleVR config: Don't show cameras frustum unless selected for more clarity

MiddleVR 2.0.1#

  • Fix scale of demo_outpost
  • Fix navigation of demo_outpost that could result in a desynchronization between screens

Migrating your project from MiddleVR 1.7 to MiddleVR 2.0#

  • Make sure to read MiddleVR 2.0 Changelog first
  • Note all the parameters of the VRManager
  • Delete Assets/MiddleVR (and Assets/MiddleVR_FirstPersonController if you have it)
  • Delete Assets/Plugins/MiddleVR_UnityRendering.dll
  • Import the new MiddleVR unity package from C:\Program Files\MiddleVR2\data
  • Add the new MVRManager
  • Update your MiddleVR configuration file by simply loading it in MiddleVR Config 2.0 and saving it
  • Apply the parameters from the old VRManager and use the new configuration
  • Modify your scripts:
    • Remove using MiddleVR_Unity3D
    • Add using MiddleVR and using MiddleVR.Unity
    • Rename MiddleVR.VR to MVR.. Example: MiddleVR.VRKernel is now MVR.Kernel
    • VRCommands and VRSharedValue are now replaced by [Cluster.BroadcastMessage]
  • WebViews and VRMenu have been deleted. The best option is to use Unity GUI
  • MiddleVR does not support HMDs anymore, so if your application is also using HMDs, you should use Unity XR

Version 2.0 Changelog#

Major updates#


  • MiddleVR is now focused on projector based VR system so there is no more native support for HMDs
  • Removed Web views
  • Removed support for haption devices
  • Removed support for: Colibri, Kinect 1&2, LeapMotion, TrackIR, Vuzix
  • Removed WorldScale
  • Removed support for 32-bit builds. 64-bit is now required
  • Removed support for DirectX 9
  • Removed VRMenu


  • You can have MiddleVR 1.x and MiddleVR 2.x installed at the same time
  • You don't need to install MiddleVR on all the cluster computers, except for the VRDaemon. All the MiddleVR dlls are now embedded in the Unity application
  • When running MiddleVR installer you can choose to automatically run the MiddleVR daemon at startup


  • Licensing is now per projector
  • Only one "Pro" license
  • A license is now required for every computer using MiddleVR
  • The license file is now stored in %programdata%/MiddleVR so every user in the system can access it


  • Unity >= 2018.4 required
  • Support for Unity 2019.4 LTS
  • The MiddleVR package now embeds all the MiddleVR dlls.
  • New standard demo: Outpost, shipped in C:\Program Files\MiddleVR2\demo\demo_outpost
  • Cluster commands have changed: See "Sharing custom data" and "Sending events" in documentation.
  • Initial support for coexistence with UnityXR so your application can both support MiddleVR and UnityXR
  • Beta support for High Definition Render Pipeline (HDRP) & Universal Render Pipeline (URP)

MiddleVR config#

  • You cannot run a MiddleVR 1.x application with MiddleVR Config 2.0
  • New Log Folder parameter. This parameter is especially useful to output logs to a shared network folder so it is easier to gather the logs from all the clients.


  • Add support for VIOSO to support curved systems (spheres, cones, cylinders ... ) and blending of multiple projectors
  • No need for the d3d11.dll to be copied in the same folder as the exe
  • MultiGPU option is always on so it is hidden from MiddleVR config


  • Optitrack: Update to NatNet 3.1
  • ART: Update to DTrack 2.5
  • Vicon: Update to Datastream 1.10

Minor updates#


  • Update to LMX 4.9.20


  • Interactions: Support for Unity Event system
  • MiddleVR now automatically picks the first camera from the project as its Template Camera
  • Kernel.Time is now correctly synchronized on all cluster nodes
  • Renamed MiddleVR.VR to MVR.. Example: MiddleVR.VRKernel is now MVR.Kernel

MiddleVR config#

  • New skin
  • Renamed Simulations tab in Apps tab
  • No need to run the VRDaemon if you are running multiple GPUs in one computer. MiddleVR daemon is still required if you run a cluster
  • Log Level is now in Apps / Debug
  • You can now change the Log Folder in Apps / Debug
  • You can now change if log names should be prefixed by date/time
  • Custom Arguments, Log Level, Log Folder and Log prefix are now persistent settings
  • When running MiddleVR config it will automatically ask if you want to load the latest configuration file loaded
  • Hide Camera::Near/Far from MiddleVR config and use the Near/Far from the Unity Template Camera


  • Logs are now stored in %tmp%/MiddleVR_date_time folder and prefixed by the date/time of launch by default. This can be changed in MiddleVR Config / Apps / Debug
  • MiddleVR daemon now has its own log file