Unity3d with Xbox Live & Mixer Interactive Plugin - unity3d

I'm using Unity3d 5.6.0f3 and develop a game which uses the Xbox Live Creators Plugin and the Mixer-Interactive-Plugin.
My problem is that both uses the Newtonsoft.Json.dll in different versions, so I got the error message:
error CS1703: An assembly 'Newtonsoft.Json' with the same identity has
already been imported. Consider removing one of the references
Assets/Xbox Live/Libs/Unity/Newtonsoft.Json.dll (Location of the
symbol related to previous error)
Assets/MixerInteractive/Source/DLLs/Win32/Newtonsoft.Json.dll
(Location of the symbol related to previous error)
Compilation failed: 1 error(s), 0 warnings
Removing one of these assemblies gives an DirectoryNotFoundException in addition, but the previous mentioned error message still exists.
Is there any way to manage references or does anyone know how to fix this?

It was too easy ...
Because the Mixer Interactive Plugin is open source and no pre-compiled assembly with static dependencies, it was possible to just untick all Newtonsoft.Json-references at the import process to unity.

Thank for bringing this up. The quickest way to fix it is to delete Newtonsoft.Json.dll from one of the two plugins. Deleting it from the Xbox Live plugin is simpler (since the plugin has fewer platform checkboxes checked).
We'll see what we can do to make this better.

Related

The type or namespace name 'UniRx' could not be found on Unity

I pretty much looked everywhere... but couldn't find anything that could debug my problem.
The only thing I do in a script is "using UniRx" to have the following error : The type or namespace name 'UniRx' could not be found.
What i tried:
On Unity, downloading from Package Manager with "Add Package with git URL"
On Unity, downloading from Package Manager with the normal way: Download -> import (into folder Plugins)
On each part, i also tried:
"Reimport All"
Closing and opening back Unity Hub then Unity
I found nothing much on google except for having this problem only on Visual Studio (which is not my actually problem since Unity itself doesn't accept UniRx)
But those who have that problem, i read that you need to "Assets" -> "Open C# Project"
Can anyone help me with my problem on Unity ? Searched for hours but still stuck :(
Unity Version: 2021.3.3f1
Well seems like my problem was like fafase said... I totally forgot about assemblies since i don't use Unity much and since it's been a long time i didn't continue my project.

HoloLens2 Application made with unity throws Exception "Could not create a device for ''Hand - Right (XRInputV1)"

Since I updated my HoloLens2 Unity Project to Unity 2020.3 my deployed HoloLens2-Application (in Unity Editor they never happen) always throws the following Exceptions :
Could not create a device for 'Hand - Right (XRInputV1)'
(Exception: System.ArgumentException: Expected control positionAccuracy to be of type 'AxisControl' but is of type 'IntegerControl' instead;)
at UnityEngine.InputSystem.InputControll
Could not create a device for 'Hand - Left (XRInputV1)'
(Exception: System.ArgumentException: Expected control positionAccuracy to be of type 'AxisControl' but is of type 'IntegerControl' instead;)
at UnityEngine.InputSystem.InputControll
Does anybody know, how to get rid of those Exceptions?
I am using the MixedRealityToolkit 2.7.3 HoloLens2 default Configuration and noticed this problem at Unity Versions 2020.3.8, 2020.3.22 and 2020.3.26.
Firstly, please double check the MRTK Input profile setting. You can easily configure the project in Unity Menu: Mixed Reality > Toolkit > Utilities > Configure Project for MRTK
Then, please check out your XR setting, Since you are using Unity 2020.x, you can use OpenXR plugin, see Choosing an XR configuration.
If the issue is still there, this may also be caused by your hand control code. Here is discussion with the same exception as yours, see WikkidEdd's reply in this github issue. In their case, they need to use IntegerControl instead of AxisControl.
OK I fixed the Error-Problem by updating to OpenXR plugin. It fixed basically every problem I had so far within my project. By coincidence I came across the plugin as a tarball file while downloading this sample-project from Github.
I´d wish to find a place where I can get all the plugins which can be installed via Microsoft FeatureTool on one place as manual download! Maybe someday it will exist. :)

Unity Mirror not Importing correctly

I was following this tutorial https://www.youtube.com/watch?v=8VVgIjWBXks
about making a multiplayer game in unity using Mirror https://assetstore.unity.com/packages/tools/network/mirror-129321.
So obviously I went to the asset store and imported it... (I'm using unity 2020.1)
But now it's throwing a ton of errors and not letting me use "using Mirror;"
VSCode says: The type or namespace name 'Mirror' could not be found (are you missing a using directive or an assembly reference?) [Assembly-CSharp]
Interestingly enough I can run the game without any issues even with all the errors but when I try in my code to "using Mirror;" it doesn't work
I tried reimporting and restarting the project, regenerating .csproj files, and even trying on different unity versions but nothing worked. I'm assuming that the Mirror package itself is totally fine but I'm doing something stupid....
Any idea what I could do?
This seems to be the problem:
Most likely the version of VS Code you have installed, reverting VS Code C# Extension from 1.23 to 1.22.
The short term fix involves literally deleting Mirror from Unity and re-importing it from the Package Manager. Also deleting *.vscode and *.SLN files.
A proper discussion about this issue is found at Omnisharp-vscode GitHub page.
I had to ensure player settings had scripting define symbols:
MIRROR
MIRROR_17_0_OR_NEWER

DLL will not be loaded due to errors

I am getting this error
Assembly ‘Library/ScriptAssemblies/Assembly-CSharp-Editor.dll’ will not be loaded due to errors: Reference has errors ‘Google.GData.Client’.
Our project was running on Unity 2018.1, and I am testing it on 2018.3.5f1. After doing some adjustments for the upgrade, I noticed that some of our custom MenuItem went missing and guessed that it's probably because of this error.
I have been searching about this since yesterday but had no luck finding the right solution. Any help is appreciated greatly.
Got it! I found some old libraries that are not used by our project anymore. In Unity 2018.3.x, .NET 3.5 is label as deprecated. For those who may encounter the same problems do the following:
Look for .dll files that targets .NET 3.5.
Either delete them, or update them.
Reopen Unity

Eclipse #ifdef error using JNI, Android NDK and Vuforia

With Vuforia's ImageTargets sample application, I tried using OpenGL ES 1.1 by setting USE_OPENGL_ES_1_1 to true in jni/Android.mk and uncommenting and changing the corresponding line in AndroidManifest.xml (). After converting the project so that it has a C++ perspective and associating ndk-build and the proper include directories, I could successfully run the application on my Android device.
However, the problem is that once I open up jni/ImageTargets.cpp, I get several errors from Eclipse, all from places where OpenGL ES 2.0 code would execute, the first one being:
Description Resource Path Location Type Symbol 'vertexHandle' could
not be resolved ImageTargets.cpp /ImageTargets/jni line 402 Semantic
Error
Sure enough, vertexHandle is defined at the top of the ImageTargets.cpp, inside the "#ifdef USE_OPENGL_ES_2_0" block. Because USE_OPENGL_ES_2_0 is not defined (per Android.mk), the code should be able to compile successfully, and sure enough, ndk-build does not report any problems. So it seems that only Eclipse reports the problems and when I run the project, Eclipse says, "Your project contains error(s), please fix them before running your application." And thus, I cannot run my application anymore. In a sense, it's kind of strange that this never occurred until I opened ImageTargets.cpp and Eclipse "discovered" the errors.
The best work-around I've found so far is to just delete or comment out those lines (that should not be causing problems because USE_OPENGL_ES_2_0 is not supposed to be defined)... Is there a better way to deal with this problem? Did I miss a setting in Eclipse that should solve this?
I've found a solution: go to the project properties -> C/C++ Build -> Discovery Options -> Check "Automate discovery of paths and symbols"