Bring Dolby Atmos and Dolby Vision to your Unreal Engine game

{{ headingBlockSlot.videoLinkButton.text }} {{ headingBlockSlot.videoLinkButton.text }}

Dolby announced today that our Dolby Atmos and Dolby Vision plug-ins for Unreal Engine are now available. Keep creative intact without changing your workflow.

Dolby Atmos Plug-In for Unreal Engine

The Dolby Atmos plug-in is a software component for the Unreal Engine consisting of source files and static libraries that process and convert mixer source audio to Dolby Atmos game audio.

 

Tech Details

As an extension to the Unreal Engine, the Dolby Atmos plug-in embeds within the controls of the Unreal Editor user interface. The plug-in provides access to enhanced Dolby spatial audio processing for game development and design on Windows 10/11, Xbox Series X|S and Android platforms. Specifically, the plug-in extends the functionality of the Unreal Engine by enabling the selection and configuration of mixer source audio for processing and conversion to Dolby Atmos game audio. 

To find out more visit games.dolby.com/UE-Atmos

Dolby Vision Plug-In for Unreal Engine

The Dolby Vision Plug-In raises the visual bar and player experience within your game by allowing you to master your game once in Dolby Vision, and create dynamic legacy outputs to HDR10 and SDR.

Tech Details
  • Supported Platforms: Windows 10/11, the Xbox family of products.
  • Plug-in works with Unreal  5.1, and 5.2
  • Easily transition your SDR or HDR10 game to Dolby vision.
  • Leverage the ecosystem of Dolby Vision TVs, laptops, and monitors to utilize Dolby Vision Game mode, which has guaranteed minimum latencies, and D6500k picture profiles activated when your Dolby Vision game is played.
  • GPU frame time under .2 milliseconds
  • Trims allows you to dial in the look of your Derived SDR outputs, which can be updated via blueprint or timeline dynamically on each frame if desired.
  • Remove the need for calibration screens when connected to Dolby Vision displays.
  • Automatically detects Dolby Vision, HDR10, and SDR displays, and does a frame-by-frame tone mapping for the display.

For more visit games.dolby.com/vision/unreal

 
Have questions about the plug-ins? Contact the Dolby Game Developer Relations team games@dolby.com.

Stay up-to-date on all things Games in Dolby:
FB fb.com/dolbygamedev
TW @dolbygamedev
DC discord.gg/dolbyfordevs

// This view acts as a rendering template to render InitScript(and server-side Form's descriptor) in FormContainerBlock's client-side for Form[b1204aec-20ad-4eee-966a-615e3abace26]. // TECHNOTE: all serverside (paths, dynamic values) of EPiServerForms will be transfered to client side here in this section. (function initializeOnRenderingFormDescriptor() { // each workingFormInfo is store inside epi.EPiServer.Forms, lookup by its FormGuid var workingFormInfo=epi.EPiServer.Forms["b1204aec-20ad-4eee-966a-615e3abace26"] ={ Id: "b1204aec-20ad-4eee-966a-615e3abace26" , Name: "Gaming Sign Up Form" , // whether this Form can be submitted which relates to the visitor's data (cookie, identity) and Form's settings (AllowAnonymous, AllowXXX) SubmittableStatus : {"submittable":true,"message":""}, ConfirmMessage: "", ResetConfirmMessage : "", ShowNavigationBar : true, ShowSummarizedData : false, // serialize the dependency configuration of this form to clientside DependenciesInfo : JSON.parse("[]"), // keep all fieldName which are not satisfied the field dependency conditions DependencyInactiveElements: [], // Validation info, for executing validating on client side ValidationInfo : JSON.parse("[{\"targetElementName\":\"__field_47568\",\"targetElementId\":\"14538dea-b619-4a08-be37-68d724eace9c\",\"validators\":[{\"type\":\"EPiServer.Forms.Implementation.Validation.RequiredValidator\",\"description\":null,\"model\":{\"message\":\"This field is required.\",\"validationCssClass\":\"ValidationRequired\",\"additionalAttributes\":{\"required\":\"\",\"aria-required\":\"true\"}}}]},{\"targetElementName\":\"__field_47569\",\"targetElementId\":\"c425a151-325f-4cba-9546-bb15f242575a\",\"validators\":[{\"type\":\"EPiServer.Forms.Implementation.Validation.RequiredValidator\",\"description\":null,\"model\":{\"message\":\"This field is required.\",\"validationCssClass\":\"ValidationRequired\",\"additionalAttributes\":{\"required\":\"\",\"aria-required\":\"true\"}}}]},{\"targetElementName\":\"__field_47570\",\"targetElementId\":\"232b6295-2cda-48ca-b97f-9158adcbf78b\",\"validators\":[{\"type\":\"EPiServer.Forms.Implementation.Validation.RequiredValidator\",\"description\":null,\"model\":{\"message\":\"This field is required.\",\"validationCssClass\":\"ValidationRequired\",\"additionalAttributes\":{\"required\":\"\",\"aria-required\":\"true\"}}},{\"type\":\"EPiServer.Forms.Implementation.Validation.EmailValidator\",\"description\":null,\"model\":{\"jsPattern\":\"^((([a-zA-Z]|\\\\d|[!#\\\\$%\u0026\u0027\\\\*\\\\+\\\\-\\\\/=\\\\?\\\\^_`{\\\\|}~]|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])+(\\\\.([a-zA-Z]|\\\\d|[!#\\\\$%\u0026\u0027\\\\*\\\\+\\\\-\\\\/=\\\\?\\\\^_`{\\\\|}~]|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])+)*)|((\\\\x22)((((\\\\x20|\\\\x09)*(\\\\x0d\\\\x0a))?(\\\\x20|\\\\x09)+)?(([\\\\x01-\\\\x08\\\\x0b\\\\x0c\\\\x0e-\\\\x1f\\\\x7f]|\\\\x21|[\\\\x23-\\\\x5b]|[\\\\x5d-\\\\x7e]|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])|(\\\\\\\\([\\\\x01-\\\\x09\\\\x0b\\\\x0c\\\\x0d-\\\\x7f]|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF]))))*(((\\\\x20|\\\\x09)*(\\\\x0d\\\\x0a))?(\\\\x20|\\\\x09)+)?(\\\\x22)))@((([a-zA-Z]|\\\\d|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])|(([a-zA-Z]|\\\\d|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])([a-zA-Z]|\\\\d|-|\\\\.|_|~|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])*([a-zA-Z]|\\\\d|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])))\\\\.)+(([a-zA-Z]|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])|(([a-zA-Z]|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])([a-zA-Z]|\\\\d|-|\\\\.|_|~|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])*([a-zA-Z]|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])))$\",\"dotNetPattern\":\"^((([a-zA-Z]|\\\\d|[!#\\\\$%\u0026\u0027\\\\*\\\\+\\\\-\\\\/=\\\\?\\\\^_`{\\\\|}~]|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])+(\\\\.([a-zA-Z]|\\\\d|[!#\\\\$%\u0026\u0027\\\\*\\\\+\\\\-\\\\/=\\\\?\\\\^_`{\\\\|}~]|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])+)*)|((\\\\x22)((((\\\\x20|\\\\x09)*(\\\\x0d\\\\x0a))?(\\\\x20|\\\\x09)+)?(([\\\\x01-\\\\x08\\\\x0b\\\\x0c\\\\x0e-\\\\x1f\\\\x7f]|\\\\x21|[\\\\x23-\\\\x5b]|[\\\\x5d-\\\\x7e]|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])|(\\\\\\\\([\\\\x01-\\\\x09\\\\x0b\\\\x0c\\\\x0d-\\\\x7f]|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF]))))*(((\\\\x20|\\\\x09)*(\\\\x0d\\\\x0a))?(\\\\x20|\\\\x09)+)?(\\\\x22)))@((([a-zA-Z]|\\\\d|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])|(([a-zA-Z]|\\\\d|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])([a-zA-Z]|\\\\d|-|\\\\.|_|~|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])*([a-zA-Z]|\\\\d|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])))\\\\.)+(([a-zA-Z]|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])|(([a-zA-Z]|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])([a-zA-Z]|\\\\d|-|\\\\.|_|~|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])*([a-zA-Z]|[\\\\u00A0-\\\\uD7FF\\\\uF900-\\\\uFDCF\\\\uFDF0-\\\\uFFEF])))$\",\"message\":\"Enter a valid email address.\",\"validationCssClass\":null,\"additionalAttributes\":null}}]}]"), // Steps information for driving multiple-step Forms. StepsInfo : { Steps: [{"index":0,"attachedUrl":"","dependField":null,"dependCondition":null,"isActive":true,"attachedContentLink":"","dependValue":"","elementName":"__field_","guid":"00000000-0000-0000-0000-000000000000"}] }, FieldsExcludedInSubmissionSummary: [], ElementsInfo: JSON.parse("{\"__field_47568\":{\"type\":\"EPiServer.Forms.Implementation.Elements.TextboxElementBlock\",\"friendlyName\":\"First name\",\"customBinding\":false},\"__field_47569\":{\"type\":\"EPiServer.Forms.Implementation.Elements.TextboxElementBlock\",\"friendlyName\":\"Last name\",\"customBinding\":false},\"__field_47570\":{\"type\":\"EPiServer.Forms.Implementation.Elements.TextboxElementBlock\",\"friendlyName\":\"Email\",\"customBinding\":false},\"__field_47575\":{\"type\":\"EPiServer.Forms.Implementation.Elements.SelectionElementBlock\",\"friendlyName\":\"Where are you located?\",\"customBinding\":false},\"__field_47571\":{\"type\":\"EPiServer.Forms.Implementation.Elements.ChoiceElementBlock\",\"friendlyName\":\"What gaming platforms do you own? (Select all that apply)\",\"customBinding\":false},\"__field_47577\":{\"type\":\"EPiServer.Forms.Implementation.Elements.SubmitButtonElementBlock\",\"friendlyName\":\"Submit button\",\"customBinding\":false}}"), DataSubmitController: "/EPiServer.Forms/DataSubmit" }; /// TECHNOTE: Calculation at FormInfo level, and these values will be static input for later processing. workingFormInfo.StepsInfo.FormHasNoStep_VirtualStepCreated=true; // this FLAG will be true, if Editor does not put any FormStep. Engine will create a virtual step, with empty GUID workingFormInfo.StepsInfo.FormHasNothing=false; // this FLAG will be true if FormContainer has no element at all workingFormInfo.StepsInfo.AllStepsAreNotLinked=true; // this FLAG will be true, if all steps all have contentLink= ="" (emptyString) epi.EPiServer.SystemSettings = { RequestVerification: { FormFieldName: "__RequestVerificationToken", HeaderName: "RequestVerificationToken" } }; })();

Sign up for the latest updates on gaming in Dolby

What gaming platforms do you own? (Select all that apply)
function reloadEpiFormJs(url) { const dataEl = document.querySelectorAll('[data-id="fsasync"]'); if (!dataEl.length) { var theScript = document.createElement('script'); theScript.src = url; theScript.setAttribute('data-id', 'fsasync'); document.head.appendChild(theScript); } } window.setTimeout(function () { reloadEpiFormJs('/Util/EPiServer.Forms/EPiServerForms.min.js'); }, 3000);

Still want more Dolby for your Unreal Engine project? Checkout the plug-ins for Dolby.io:

 

Dolby.io makes it simple to add spatial communications to your Unreal Engine projects with easy-to-follow documentation. Developers can also take advantage of our spatial communication capabilities by using our JavaScript SDK with experiences powered by Unreal Engine pixel streaming to web browsers and mobile devices. If you need to stream external audio or video into or out of your virtual world, our Real-time Streaming Unreal Engine plugin support more than 100,000 viewers with less than half a second of latency.

Still want more Dolby for your Unreal Engine project? Checkout the plug-ins for Dolby.io:

 

Dolby.io makes it simple to add spatial communications to your Unreal Engine projects with easy-to-follow documentation. Developers can also take advantage of our spatial communication capabilities by using our JavaScript SDK with experiences powered by Unreal Engine pixel streaming to web browsers and mobile devices. If you need to stream external audio or video into or out of your virtual world, our Real-time Streaming Unreal Engine plugin support more than 100,000 viewers with less than half a second of latency.