Skip to content

Revision history#

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 occured 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.0#

Added#

  • 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.

Changed#

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

Removed#

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

Fixed#

  • 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.

MiddleVR 2.2.0.1#

Change packages names for easier upgrading in the future:

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

MiddleVR 2.2.0.0#

Added#

  • 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 (https://www.ndi.tv/)
  • Auto-updater for future versions
  • New dual viewpoint default configuration: Wall_DualViewpoint.vrx

Changed#

  • 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

Fixed#

  • MiddleVR config zoom was limited
  • License window disappeared

Deprecated#

  • Window Mode Proxy will be removed in next versions

MiddleVR 2.1.0.2#

  • 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

MiddleVR 2.1.0.1#

  • 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.

Unity#

  • 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

MiddleVR#

  • 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#

Suppression#

  • 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

Setup#

  • 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#

  • 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#

  • 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.

Display#

  • 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

Drivers#

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

Minor updates#

Licensing#

  • Update to LMX 4.9.20

Unity#

  • 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

Misc#

  • 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