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.
- 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 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
Do the same for all the MiddleVR package your project uses.
You can then click Retry or Quit and reload the project.
- 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.
- Multi-view projectors support
- HDR: Support for High dynamic range (HDR10) displays (beta)
- Support for Unity 2020.3
- Support for Unity 2021.1
- Support for Unity 2021.2
- 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
Shift-Ftoggles 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 Syncfeature 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 (https://www.ndi.tv/)
- Auto-updater for future versions
- New dual viewpoint default configuration: Wall_DualViewpoint.vrx
Unity packages are now .tgz files instead of folders:
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
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
- 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
- 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
- Delete Assets/MiddleVR (and Assets/MiddleVR_FirstPersonController if you have it)
- Delete Assets/Plugins/MiddleVR_UnityRendering.dll
- Import the new MiddleVR unity package from
- Add the new
- Update your MiddleVR configuration file by simply loading it in MiddleVR Config 2.0 and saving it
- Apply the parameters from the old
VRManagerand use the new configuration
- Modify your scripts:
- 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#
- 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)
- 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
- 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
- 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