Code Monkey home page Code Monkey logo

comms-sdk-unity's Introduction

Dolby.io Virtual World plugin for Unity

With the Dolby.io Virtual World plugin for Unity, you can easily integrate Dolby.io Spatial Audio, powered by Dolby Atmos technology into your virtual world applications.

You can find the plugin documentation here: Online documentation

Prerequisites

  • Apple MacOS x64 or Microsoft Windows 10+ x64.
  • A Dolby.io account. If you do not have an account, you can sign up for a free account.
  • The client access token copied from the Dolby.io dashboard. To create the token, log into the Dolby.io dashboard, create an application, and navigate to the API keys section.
  • Install git-lfs command line tool on your computer.

How to install

In the Unity Editor, open the Unity Package Manager from the Window menu. If the plugin is already installed, it will be in the “All Assets” list. Otherwise, click the ➕ icon in the upper left corner.

Option 1. Install from GitHub

Select Add package from git URL.., enter the URL below

https://github.com/DolbyIO/comms-sdk-unity.git

Option 2. Install from the downloaded package

  • Download latest plugin from the release page.
  • Unzip the package into a local folder.
  • Select Add package from the disk, navigate to the local folder and select package.json file.

comms-sdk-unity's People

Contributors

4thlabs avatar djova-dolby avatar jfan-dolby avatar mhelf-dolby avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

comms-sdk-unity's Issues

'WelcomeWindow' does not contain a definition for 'Initialize' - Windows 10 Unity v2021.3.16f1

Unity v2021.3.16f1, Windows 10 Enterprise

The Dolby.io Comms package was installing fine up until this week. When installing today I encountered these issues:

Library\PackageCache\dolbyio.comms.unity@f6178df296\Editor\WelcomeWindow.cs(36,35): error CS0117: 'WelcomeWindow' does not contain a definition for 'Initialize'

Failed to find entry-points:
Mono.Cecil.AssemblyResolutionException: Failed to resolve assembly: 'DolbyI0.Comms.Unity.Editor, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'

unity-error

Log the conference ID via the Unity logger

If the log level set for the SDK includes INFO level logs, then the conference ID should be logged using the Unity logger. This will allow easier reporting of conference IDs in any bug reports.

There may be other events that should be logged this way.

Scene for a named conference

A sample scene that has a configurable name.

Ideally, a convenient hook for when other people join. More details later.

v1.2.0 2D HUD video elements are lit

In the 2D HUD Sample scene, the camera and screen share displays appear to be impacted by the scene lighting.

As these are HUD elements, they should be “above” the scene and not be impacted by the lighting.

Installation instructions changes

Remove the two paragraphs between “How to install” and “Option 1” and replace with:

In the Unity Editor, open the Unity Package Manager from the Window menu. If the plugin is already installed, it will be in the “All Assets” list. Otherwise, click the ➕ icon in the upper left corner.

Unhandled exception when deleting a video sink

Reported reproduction steps are:

  • open the "2D HUB Sample"
  • enter Play Mode
  • select a Screen Share Source
  • and quickly, repeatedly press "Start Screen Share"

The stack trace is:

0x00007FF8E67B923B (DolbyIO.Comms.Native) RemoveOnInvalidTokenExceptionHandler
0x00007FF8E67B92F9 (DolbyIO.Comms.Native) RemoveOnInvalidTokenExceptionHandler
0x00007FF8E67B9683 (DolbyIO.Comms.Native) RemoveOnInvalidTokenExceptionHandler
0x00007FF8E67B8843 (DolbyIO.Comms.Native) RemoveOnInvalidTokenExceptionHandler
0x000001DD938D95B7 (Mono JIT Code) (wrapper managed-to-native) DolbyIO.Comms.Native:DeleteVideoSink (intptr)
0x000001DD938D93EB (Mono JIT Code) DolbyIO.Comms.VideoFrameHandlerHandle:ReleaseHandle ()
0x000001DDB68A7A31 (Mono JIT Code) System.Runtime.InteropServices.SafeHandle:DangerousReleaseInternal (bool)
0x000001DCBF10547B (Mono JIT Code) System.Runtime.InteropServices.SafeHandle:InternalFinalize ()
0x000001DCB62F1513 (Mono JIT Code) System.Runtime.InteropServices.SafeHandle:Dispose (bool)
0x000001DCBF1052CC (Mono JIT Code) System.Runtime.InteropServices.SafeHandle:Finalize ()
0x000001DCB5BB6BBC (Mono JIT Code) (wrapper runtime-invoke) object:runtime_invoke_virtual_void__this__ (object,intptr,intptr,intptr)
0x00007FF8F3284335 (mono-2.0-bdwgc) [C:\build\output\Unity-Technologies\mono\mono\metadata\gc.c:383] mono_gc_run_finalize 
0x00007FF8F32855F8 (mono-2.0-bdwgc) [C:\build\output\Unity-Technologies\mono\mono\metadata\gc.c:943] finalize_domain_objects 
0x00007FF8F3285AAE (mono-2.0-bdwgc) [C:\build\output\Unity-Technologies\mono\mono\metadata\gc.c:1035] finalizer_thread 
0x00007FF8F3223E7B (mono-2.0-bdwgc) [C:\build\output\Unity-Technologies\mono\mono\metadata\threads.c:1268] start_wrapper_internal 
0x00007FF8F3224056 (mono-2.0-bdwgc) [C:\build\output\Unity-Technologies\mono\mono\metadata\threads.c:1344] start_wrapper 
0x00007FF99A2326AD (KERNEL32) BaseThreadInitThunk
0x00007FF99B12AA68 (ntdll) RtlUserThreadStart

Remove Unity tracking from v1.1.0

The Unity tracking window should not appear when the plugin is loaded via GitHub. v1.2.0.beta.1 has the fix and this should be back ported to 1.1.

VFS support

Support for Video Forwarding Strategy, with controls for the strategy, max videos and participant list

Unity will Crash always when begin run demo

Unity will Crash always when begin run demo in windows11

Windows 11
Unity version : unity 2021.3.21f1 & unity 2021.3.48f1
Comms-sdk-unity version : v1.2.0 &v1.1.0

Reproduction steps

  1. add the dolby.io package(v1.2.0) and begin run the demo '2D HUD Sample Scene'.

  2. It crashes when it starts running.
    crash image

  3. unity Editor.log: Editor.log
    image

In fact, three of my machines have been experiencing constant crashes, while the other tested machines have no issues at the moment.
I tested almost all versions of 'comms sdk unity' and found the same log crash information.

Can get my crash example demo here: Dolby-Comms-Sdk-Unity-CrashDemo.
image

Whether is the sdk issue? Can anyone help me and give me some tips on how to solve the problem. thx!

Update to C++ SDK 2.6 (was 2.5)

(Updated) The C++ SDK has been updated with a new beta release, 2.6.0-beta.1.

To date, there are no breaking changes in 2.6, so there is no additional work for updating to this version.

Update the plugin to use this version of the C++ SDK. While C++ is beta, the plugin should remain beta as well.

Add Unity version to the reported SDK version

The SDK version reported to the Dolby.io backend should be extended to include the version of Unity being used. The Unreal plugin is also doing this.

The format for the SDK should be:

<existing SDK version>_Unity<Unity version>

For example 1.2.1-beta.1_Unity2021.3.18f1

Custom distance attenuation support for Unity

When custom distance attenuation has been added to the .NET SDK, it should be exposed in the Unity plugin, including as a visual programming node.

Custom distance attenuation can be used as a complete replacement for scale in the spatial environment, and we will be recommending leaving scale at (1, 1, 1). When this issue is addressed, also modify the Conference Controller. This controller displays the scale. It should be moved into a foldout labelled Advanced.

VideoController cannot be registered with ConferenceController

If you are instantiating prefabs with video rendering gameObjects as components then you will need the VideoController to be added programmatically and setup to connect with the ConferenceController and also set the filter for the player name/id. I am using Unity Netcode so the players ID is also the Dolby Conference Player name. This means I need to wait for the Relay to connect and the player prefabs to be created before setting up the VideoController. The code registers itself with the ConferenceController on the Awake method. It also sets up the rendering on the Start method. These both fail as I do not have the ConferenceController injected at the point the prefab is instantiated. There needs to be a public method to defer this setup.
DolbyIssue

Node for viewing log output in Unity Editor

As an alternative to checking the Unity text file Editor.log, create a visual programming node that can take the logging from the plug-in and forward it to the Unity Editor, using Debug.Log.

The node should including controls for filtering the forwarded messages. Filtering should be available on the log level (error, warning, etc) and also on a string in the message (e.g. participant would include all messages that contained that string).

Update: C++ SDK 2.6 introduces a logging callback. This node should hook into that system.

Add conference volume control

An application or game written using a game engine would ofter have separate controllable volumes for music and in-app audio.

The conference audio would either be considered part of the in-app audio or may have a separate volume control.

To work with these, the conference volume needs to be able to be set, via both .NET code and a visual programming node.

Dolby.io Manager logs error if no Credentials component added

The Dolby IO Manager component logs an error message in the Awake() method if neither of the two possible Credential components have been added.

There are other ways of supplying the credentials (as the Shared Scene Sample demonstrates), so this should not be an error.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.