Fully Automatic Initialization
The MixCast SDK for Unreal no longer requires that you spawn a MixCast SDK Actor yourself to initialize MixCast in your project (existing configurations are still supported however).
High-Dynamic-Range Color Support
Projects rendering in high dynamic range can now be configured to pass that information to MixCast so that users can enable and customize effects like Bloom and Tone-mapping which operate using the higher precision lighting data. Note that this configuration moves much more of the control over the final look of the virtual content out of the developer’s hands and into the MixCast user’s, and so should probably only be used if you are both the developer and the user of this project’s MixCast implementation.
Opaque Depth Passing
The MixCast SDK will pass along the depth information generated in the Opaque pass when needed so users can enable and customize effects like Digital Depth of Field.
Improvements & Fixes
- The MixCast SDK won’t activate in your MixCast-enabled experience if launched with the command line argument ‘-nomixcast’. This doesn’t apply if you’ve already enabled the “Require Command Line Argument” setting, which continues to cause the MixCast SDK to only activate in your experience if launched with the command line argument ‘-mixcast’.
- Switching Levels produces much less of a hitch in MixCast’s operation.
UE 4.26 + 4.27: Blueprint-only projects aren’t supported at the moment due to restrictions with the TextureShare plugin. This guide can walk you through converting a Blueprint-only project to a C++ project. Note that the version of Visual Studio expected for the affected versions of Unreal is VS 2019.
MixCast is now compatible with the OpenXR plugin as the active XR system (in Unreal 4.26+)
DirectX 12 Support
MixCast is now compatible with projects using DirectX 12 in addition to those using DirectX 11 (in Unreal 4.26+).
- Eliminated the need for a separate Transparency Scene Capture render, reducing MixCast rendering cost significantly!
Improvements & Fixes
- Eliminated the conflict between rendering features that caused developers to have to choose between rendering an Alpha Channel and being able to clip the foreground on a Per-Pixel basis (in Unreal 4.22+).
- Fixed cases where non-standard world scale was not being compensated for correctly.
Users can now make changes to their MixCast configuration/parameters in parallel with/while running an SDK 2.4.0+ experience. This greatly reduces the time it takes to lock in settings since there’s no need to switch back to MixCast’s VR configuration app as often (really only to perform alignment calibration).
Tracking Space Alignment Improvements
Updates to SDK tracking/alignment logic have been made so that more project setups could be supported and with less fuss. MixCast can now fully accommodate both Seated and Standing/Room Scale tracking modes, and handles Recentering appropriately. You do not need to run SteamVR with Oculus platform titles any more either.
- Viewfinder brightness not yet consistent with desktop output.
Note on Versioning: This update to the MixCast SDK for Unreal brings it to near parity with the MixCast SDK for Unity. As a result, we’ve increased the version number to match that of the rest of MixCast for clarity. Thank you to all those who’ve been using MixCast with Unreal so far; there’s lots more to come 🙂
Expanded Foreground Clipping Options
Until this update, the Unreal SDK could only use the (Far) Clip Plane value of the engine’s Camera component to discard objects/pixels that are behind the user’s approximate depth (and therefore not in the ‘foreground’), and required the enabling of Unreal’s “global clip plane” option in the project.
Starting with the 2.3.3 version of the MixCast SDK for Unreal, a new option is offered called “Per-Pixel Foreground Clipping”, which allows for the foreground to be clipped based on Z-Testing instead of the far clip plane. This has a number of benefits:
- Avoiding the aforementioned general project setting requirement, which otherwise has a performance cost.
- Allows for more nuanced foreground clipping (per-pixel rather than a single plane), especially when using MixCast with depth cameras.
- Avoiding a 3rd render pass to capture the opacity of the foreground.
Unfortunately this mode doesn’t support translucency due to a lack of control in Unreal over the alpha channel in the base pass. As a substitute for the alpha channel, foreground objects are isolated using a key color approach, which doesn’t support translucency and which requires a magic color (one unlikely to appear normally during rendering) to be specified. Objects using translucent shaders are automatically hidden in MixCast’s foreground render in this scenario.
Note that if you’re using MixCast’s “Force Additive Blending” option for your project already, the restrictions around transparency with Depth-Based Foreground Clipping mentioned aren’t applicable since Force Additive Blending already causes MixCast to ignore the alpha channel.
Full In-VR Display Support
Until this update, the Unreal SDK didn’t have the ability to display feeds from MixCast in VR natively through the SDK, only as provided by the OpenVR overlay API (limited to one overlay, no depth sorting, etc).
Starting with the 2.3.3 version of the MixCast SDK for Unreal, full In-VR display support is provided, meaning that end-users can monitor as many MixCast outputs as they’ve configured without taking their headset off. These can be toggled off at runtime through the MixCast status window as with MixCast SDK for Unity and SteamVR SDK titles.
The SDK can now check for available updates to the plugin when you start the UE4 Editor and notify you if a newer version is available!
Custom Tracked Objects
The feature allows developers to incorporate run-time pose information from the Unreal app itself into the positioning logic of the MixCast cameras rendering the scene. This feature is initially intended only for titles working with MixCast on custom functionality (contact us for more information!). This page in the documentation describes the technical steps to follow when you’re ready.
Expanded Additive Blending Support
If your experience treats its final render as an additive layer regardless of the values your materials write to the alpha channel (ex: an AR experience), you can now enable the “Force Additive Blending” checkbox in your Project’s MixCast settings to have MixCast blend the digital foreground with the physical scene using additive blending (ignoring alpha) as well.
Expanded Actor Visibility Control
The MixCast SDK for Unreal now provides more control over which actors are rendered to the user’s view and to the MixCast cameras. Since MixCast Cameras can take a number of forms (first-person/third-person, virtual/mixed reality, etc), additional filtering is offered for even more specificity. Check out the documentation page on this feature for more details!
Improvements & Fixes
- Ensuring compatibility with Unreal 4.23/4.24 and packaging new builds for all versions (4.17-4.24).
- Improving SDK logic when running both Server and Client in Unreal Editor.
- Package now requires significantly fewer assets to operate.
- MixCast can operate when Previewing VR in Editor.
- MixCast doesn’t take over spectator view.
- Building for OculusVR supported in addition to SteamVR (without complaining if either plugin missing).
Expanded Rendering Functionality
Unreal SDK now supports capturing from multiple cameras as well as rendering at 1080p+ resolution regardless of monitor dimensions, bringing it in line with the Unity SDK.
MixCast Moments Support
Your experience can now send events to and receive commands from the MixCast Client to power advanced recording functionality and tailor experiences for demonstration or location-based usage. Contact us if you’re interested in learning more about MixCast Moments!
- Unreal 4.19, 4.18, 4.17: MixCast doesn’t support applications in SteamVR mode set to use Eye Level mode.
- Fixed quadrant mode appearing blank when output dimensions set to window size
- Fixed problem where Oculus sensor calibration affected non-Rift headsets
- Added compatibility with Unreal 4.20
- Allowing hidden actors to be set in Details pane
- Added option to start MixCast only if the command line switch is present
- Prevent cameras from spawning until MixCast activates
- Disable environment camera components when MixCast is inactive
- Use sensor calibration to improve position of tracked objects
MixCast SDK for Unreal now available!