Revision history#
Migrating your project from MiddleVR 2.4 to MiddleVR 2.5#
-
Simply restarting Unity should automatically upgrade the packages. Make sure that the MiddleVR version is 2.5 in the Package Manager.
-
If needed, delete and re-import the MVRManager.
MiddleVR 2.5.5#
- 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
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 sales@middlevr.com. 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 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.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#
Added#
- Multi-view projectors support
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
andusing MiddleVR.Unity
- Rename MiddleVR.VR to MVR.. Example: MiddleVR.VRKernel is now MVR.Kernel
- VRCommands and VRSharedValue are now replaced by [Cluster.BroadcastMessage]
- Remove
- 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