I've tryed different times following the guides on https://microsoft.github.io/MixedReality-WebRTC/manual/gettingstarted.html.
The problem is that every time I open Unity, after I have followed all the steps, all these errors appear in the console. I have tried to perform the procedure several times but every time I have these errors. The problem is that if I actually go to analyze the errors, there are errors like "VideoProfileKind" where the Intellisense suggests me to simply add one "using Microsoft.MixedReality.WebRTC.PeerConnection;" while other errors refer to non-existent scripts. I'm afraid the problem is due to .dll.

_I'm working on Unity 2019.2.21f1, Visual Studio 2019, NuGet 1.0.3, WebRTC Master branch of 23 Mar 2020._
Here I report the operations that I carried out step by step so you can possibly help me and tell me which point I'm wrong or if I skip some fundamental step.
1. With Unity closed I opened the VS solution and installed the following packages through the NuGet package manager window:
2. After that I then cloned the WebRTC project aligning with the last commit of the Master branch.
From that project I then copied from this _libs / Microsoft.MixedReality.WebRTC.Unity / Assets / _ folder the following folders:
3. Then I downloaded from the following links
After that I opened Unity and I found all those errors in the console.
Thank you very much for your attention and availability. I sincerely hope to be able to deal with it :)
Hi @amfdeluca,
You are copying the C++ and C# library DLLs by extracting them from the NuGet packages (version 1.0.3, compiled from release/1.0) and using the Unity C# scripts from master, is that correct? I am pretty sure this is the case since ExternalVideoTrackSource does not exist on release/1.0.
If so then this is the issue, the C++ and C# DLLs you are copying are from a different branch than the Unity scripts, and therefore don't have the same API. You need to use:
release/1.0 with NuGet DLLs;master to have the latest API features then recompile those DLLs with the provided solution.But you cannot mix those approaches.
See the Download section of the README.md:
NuGet packages are available for stable releases (
release/*branches). See the Release page on GitHub.Note: The
masterbranch contains the code for the next release, and therefore sometimes contains breaking API changes from the latest stable release. It is therefore not guaranteed to work with NuGet packages, which are only available for stable releases. In particular, the Unity integration scripts are only guaranteed to be compatible with NuGet packages if copied from arelease/*branch.
Thanks a lot for your quick reply
I understand very well, possibly to not have to compile the .dll, one way to solve the problem could be to pull the 1.0.3 version of WebRTC and take the C # scripts from there. Can I ask for confirmation on the version to be pulled, i.e. that of 6 Mar 2020 of the origin / release / 1.0 _Fix CHANGELOG.md for v1.0.3_ branch or from the Master branch the commit _Update NuGet core dependencies to 1.0.3_ of 3 Mar 2020?
Reading the readme I understand that I should only use the release version 1.0 as the only one supported by the NuGet packages. As I see that the only release branch is the one at 1.0.
Sorry for the question, perhaps a little silly, I ask for confirmation. In any case I will discard the changes on the project in order to start again from 0 reimporting everything to be clear.
Yes, if you don't want to build then copy the Unity scripts from release/1.0.
Ok solved, thank you very much and sorry but I had missed the Download section in the Readme, I had concentrated only on the user manual page.
No worry, we know this is confusing, we are looking at a better distribution method for Unity which would avoid this kind of confusion, but these things take time, so please bear with us in the meantime 馃槂
Stumbled into this issue today as well.
I believe the docs could state this more clearly:
If so then this is the issue, the C++ and C# DLLs you are copying are from a different branch than the Unity scripts, and therefore don't have the same API. You need to use:
either release/1.0 with NuGet DLLs;
or if you want to use master to have the latest API features then recompile those DLLs with the provided solution.
But you cannot mix those approaches.
Specifically it might be worth mentioning that in order to use the NuGet packages people need to check out the commit with the same release tag.