googlesamples / google-signin-unity

Google Sign-In API plugin for Unity game engine. Works with Android and iOS.
Other
423 stars 229 forks source link

Importing google-signin-plugin-1.0.4.unitypackage breaks unity #140

Open MikEfraim opened 4 years ago

MikEfraim commented 4 years ago

I tried to import this package in three projects now and they all broke.

The first two packages contained firebase packages required to run the auth. Upon importing the google-signin-plugin-1.0.4.unitypackage the unity editor no longer recognized multiple libraries of UnityEngine . On those test projects I can no longer detect the UnityEngine.UI and UnityEngine.EventSystem libraries. The game itself breaks down.

The third attempt to using your google-signin-plugin-1.0.4.unitypackage was without any other import. The import is showing me 4 errors: Severity Code Description Project File Line Suppression State Error CS0433 The type 'Task' exists in both 'Unity.Tasks, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' and 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' Assembly-CSharp 117 Active Severity Code Description Project File Line Suppression State Error CS0433 The type 'Task' exists in both 'Unity.Tasks, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' and 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' Assembly-CSharp 130 Active Severity Code Description Project File Line Suppression State Error CS0433 The type 'TaskCompletionSource' exists in both 'Unity.Tasks, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' and 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' Assembly-CSharp 72 Active Severity Code Description Project File Line Suppression State Error CS0433 The type 'TaskCompletionSource' exists in both 'Unity.Tasks, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' and 'netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' Assembly-CSharp

I'm trying to understand who's fault it is here. It's either my fault for not following the correct steps or your package that destroys my unity projects upon import.

MADiFoldStudio commented 4 years ago

It is issue by plugin. Remove Unity.tasks.dll from Parse\plugins.

MikEfraim commented 4 years ago

Alright that fixed showing the UI in the scene but it still does not recognize at least two libraries as far as I can see. The UnityEngine.UI and the UnityEngine.EventSystems libraries are missing. Instead what happens is when I'm trying to automatically use library for Text fields it's suggesting to use System.Net.Mime.MediaTypeNames

Edit2: It seems I can still not add UI elements in the scene. Only the raw images appear to be fixed.

MikEfraim commented 4 years ago

Ok so I fixed it by doing the following: -Deleting all assets from folder -Importing again firebase.auth package but unchecking the Parse/Plugins dlls (I KEPT the dlls in the dotNet45 subfolder) -Importing the google sign in package 1.0.4 but UNCHECKING the Parse/Plugins folder -After importing the google sign in package I deleted the PlayServicesResolver folder entirely as suggested by mainduel https://github.com/googlesamples/google-signin-unity/issues/127 -Imported the sample scene provided for google sign in -Successfully run the google sign in

MADiFoldStudio commented 4 years ago

I have tried several things, even going as far as installing 2018 LTS. Doing clean project, import just Google Sign In package and boom, error again. Now doing a full system clean and then see if I can get things fixed with clean install of Unity (clean install java etc too). Will take my chances on your solution (which I already read in several fora), but still pretty sure it isn't going to fix all my issues.

pseudocolor commented 4 years ago

I experienced this, and at that time, I got the "External Dependency Manager" as resolver. so what I do is import the google sign in package, but uncheck the "Parse" and "PlayServiceResolver", and it works normal

If your Unity already broken, try backup the "PlayServiceResolver" folder first, and remove that folder. and resolve the android again. if problem still persist, try removing the Unity.UI package first. and then install it again. it works for me

bhaambhu commented 4 years ago

If your Unity already broken, try backup the "PlayServiceResolver" folder first, and remove that folder. and resolve the android again. if problem still persist, try removing the Unity.UI package first. and then install it again. it works for me

How do I "remove the Unity.UI package first and install it again"

pseudocolor commented 4 years ago

If your Unity already broken, try backup the "PlayServiceResolver" folder first, and remove that folder. and resolve the android again. if problem still persist, try removing the Unity.UI package first. and then install it again. it works for me

How do I "remove the Unity.UI package first and install it again"

go to windows - package manager, find the Unity,UI and click remove

and then, click on the Unity UI and click install

derwaldgeist commented 4 years ago

I tried all of these steps, but I am getting these erros on the console:

ArgumentException: Requested value 'X86' was not found.
System.Enum+EnumResult.SetFailure (System.Enum+ParseFailureKind failure, System.String failureMessageID, System.Object failureMessageFormatArgument) (at <9577ac7a62ef43179789031239ba8798>:0)
System.Enum.TryParseEnum (System.Type enumType, System.String value, System.Boolean ignoreCase, System.Enum+EnumResult& parseResult) (at <9577ac7a62ef43179789031239ba8798>:0)
System.Enum.Parse (System.Type enumType, System.String value, System.Boolean ignoreCase) (at <9577ac7a62ef43179789031239ba8798>:0)
System.Enum.Parse (System.Type enumType, System.String value) (at <9577ac7a62ef43179789031239ba8798>:0)
GooglePlayServices.AndroidAbis.EnumValueStringToULong (System.Type enumType, System.String enumValueString) (at <21a8cb51df0d4941915e31d35b4c9857>:0)
GooglePlayServices.AndroidAbis.get_Current () (at <21a8cb51df0d4941915e31d35b4c9857>:0)
GooglePlayServices.PlayServicesResolver.PollAndroidAbis () (at <21a8cb51df0d4941915e31d35b4c9857>:0)
System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <9577ac7a62ef43179789031239ba8798>:0)
Rethrow as TargetInvocationException: Exception has been thrown by the target of an invocation.
System.Reflection.MonoMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) (at <9577ac7a62ef43179789031239ba8798>:0)
System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) (at <9577ac7a62ef43179789031239ba8798>:0)
System.Delegate.DynamicInvokeImpl (System.Object[] args) (at <9577ac7a62ef43179789031239ba8798>:0)
System.MulticastDelegate.DynamicInvokeImpl (System.Object[] args) (at <9577ac7a62ef43179789031239ba8798>:0)
System.Delegate.DynamicInvoke (System.Object[] args) (at <9577ac7a62ef43179789031239ba8798>:0)
UnityEditor.EditorApplication.Internal_CallUpdateFunctions () (at /Users/bokken/buildslave/unity/build/Editor/Mono/EditorApplication.cs:310)

They repeat multiple times every second.

xmx77 commented 3 years ago

After delete Pares file you will have error Like this one "ArgumentException: Requested value 'X86' was not found." you must delete PlayServicesResolver then download the latest from here https://github.com/googlesamples/unity-jar-resolver/releases

Tolga-dev commented 2 months ago

hi! i fixed it

Import the package. Navigate to Parse/Plugins. Select Unity.task and Unity.combat. Uncheck 'Any Platform' and all platforms except the current one. in my case it is android. do it for both