VeriorPies / ParrelSync

(Unity3D) Test multiplayer without building
MIT License
4.51k stars 318 forks source link

[BUG] Can't create cloned project #56

Closed Storm101 closed 2 years ago

Storm101 commented 2 years ago

Using unity 2020.3.12f1 I imported the ParrelSync unitypackage into my project and then when I selected "Add new clone", it started loading and then gave me an error and got stuck on importing assets.

Steps to reproduce the behavior:

  1. Download the latest ParrelSync unitypackage from the github.
  2. Import the ParrelSync unitypackage into a unity 2020.3.12f1 project.
  3. Go to ParrelSync and click on clones manager.
  4. Press Add new clone.
  5. See error and get stuck on importing assets.

Expected Behaviour: I should be able to create a clone of my project and open it twice so I can test multiplayer functionality.

image

Enviroment (please complete the following information):

Error message: FileNotFoundException: Could not find file 'E:\Certificates\Certificate III - Game Art\Unity\New Age - Combat Test - URP - Networking\Library\PackageCache\com.unity.ide.visualstudio@2.0.8\Editor\AppleEventIntegration~\AppleEventIntegration.xcodeproj\project.xcworkspace\xcshareddata\IDEWorkspaceChecks.plist'. System.IO.Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) (at <695d1cc93cca45069c528c15c9fdd749>:0) System.IO.FileInfo.get_Length () (at <695d1cc93cca45069c528c15c9fdd749>:0) (wrapper remoting-invoke-with-check) System.IO.FileInfo.get_Length() ParrelSync.ClonesManager+<>c.b28_0 (System.IO.FileInfo file) (at Assets/ParrelSync/ParrelSync/Editor/ClonesManager.cs:599) System.Linq.Enumerable.Sum[TSource] (System.Collections.Generic.IEnumerable1[T] source, System.Func2[T,TResult] selector) (at <351e49e2a5bf4fd6beabb458ce2255f3>:0) ParrelSync.ClonesManager.GetDirectorySize (System.IO.DirectoryInfo directory, System.Boolean includeNested, System.String progressBarPrefix) (at Assets/ParrelSync/ParrelSync/Editor/ClonesManager.cs:599) ParrelSync.ClonesManager.GetDirectorySize (System.IO.DirectoryInfo directory, System.Boolean includeNested, System.String progressBarPrefix) (at Assets/ParrelSync/ParrelSync/Editor/ClonesManager.cs:608) ParrelSync.ClonesManager.GetDirectorySize (System.IO.DirectoryInfo directory, System.Boolean includeNested, System.String progressBarPrefix) (at Assets/ParrelSync/ParrelSync/Editor/ClonesManager.cs:608) ParrelSync.ClonesManager.GetDirectorySize (System.IO.DirectoryInfo directory, System.Boolean includeNested, System.String progressBarPrefix) (at Assets/ParrelSync/ParrelSync/Editor/ClonesManager.cs:608) ParrelSync.ClonesManager.GetDirectorySize (System.IO.DirectoryInfo directory, System.Boolean includeNested, System.String progressBarPrefix) (at Assets/ParrelSync/ParrelSync/Editor/ClonesManager.cs:608) ParrelSync.ClonesManager.GetDirectorySize (System.IO.DirectoryInfo directory, System.Boolean includeNested, System.String progressBarPrefix) (at Assets/ParrelSync/ParrelSync/Editor/ClonesManager.cs:608) ParrelSync.ClonesManager.GetDirectorySize (System.IO.DirectoryInfo directory, System.Boolean includeNested, System.String progressBarPrefix) (at Assets/ParrelSync/ParrelSync/Editor/ClonesManager.cs:608) ParrelSync.ClonesManager.GetDirectorySize (System.IO.DirectoryInfo directory, System.Boolean includeNested, System.String progressBarPrefix) (at Assets/ParrelSync/ParrelSync/Editor/ClonesManager.cs:608) ParrelSync.ClonesManager.CopyDirectoryWithProgressBarRecursive (System.IO.DirectoryInfo source, System.IO.DirectoryInfo destination, System.Int64& totalBytes, System.Int64& copiedBytes, System.String progressBarPrefix) (at Assets/ParrelSync/ParrelSync/Editor/ClonesManager.cs:542) ParrelSync.ClonesManager.CopyDirectoryWithProgressBar (System.String sourcePath, System.String destinationPath, System.String progressBarPrefix) (at Assets/ParrelSync/ParrelSync/Editor/ClonesManager.cs:515) ParrelSync.ClonesManager.CreateCloneFromPath (System.String sourceProjectPath) (at Assets/ParrelSync/ParrelSync/Editor/ClonesManager.cs:105) ParrelSync.ClonesManager.CreateCloneFromCurrent () (at Assets/ParrelSync/ParrelSync/Editor/ClonesManager.cs:64) ParrelSync.ClonesManagerWindow.OnGUI () (at Assets/ParrelSync/ParrelSync/Editor/ClonesManagerWindow.cs:192) UnityEditor.HostView.InvokeOnGUI (UnityEngine.Rect onGUIPosition, UnityEngine.Rect viewRect) (at :0) UnityEditor.DockArea.DrawView (UnityEngine.Rect viewRect, UnityEngine.Rect dockAreaRect) (at :0) UnityEditor.DockArea.OldOnGUI () (at :0) UnityEngine.UIElements.IMGUIContainer.DoOnGUI (UnityEngine.Event evt, UnityEngine.Matrix4x4 parentTransform, UnityEngine.Rect clippingRect, System.Boolean isComputingLayout, UnityEngine.Rect layoutSize, System.Action onGUIHandler, System.Boolean canAffectFocus) (at <001bec72e88e4f3a9eb0246a4215b1a5>:0) UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, UnityEngine.Matrix4x4 worldTransform, UnityEngine.Rect clippingRect, System.Action onGUIHandler, System.Boolean canAffectFocus) (at <001bec72e88e4f3a9eb0246a4215b1a5>:0) UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, System.Action onGUIHandler, System.Boolean canAffectFocus) (at <001bec72e88e4f3a9eb0246a4215b1a5>:0) UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, System.Boolean canAffectFocus) (at <001bec72e88e4f3a9eb0246a4215b1a5>:0) UnityEngine.UIElements.IMGUIContainer.SendEventToIMGUIRaw (UnityEngine.UIElements.EventBase evt, System.Boolean canAffectFocus, System.Boolean verifyBounds) (at <001bec72e88e4f3a9eb0246a4215b1a5>:0) UnityEngine.UIElements.IMGUIContainer.SendEventToIMGUI (UnityEngine.UIElements.EventBase evt, System.Boolean canAffectFocus, System.Boolean verifyBounds) (at <001bec72e88e4f3a9eb0246a4215b1a5>:0) UnityEngine.UIElements.IMGUIContainer.HandleEvent (UnityEngine.UIElements.EventBase evt) (at <001bec72e88e4f3a9eb0246a4215b1a5>:0) UnityEngine.UIElements.CallbackEventHandler.HandleEventAtTargetPhase (UnityEngine.UIElements.EventBase evt) (at <001bec72e88e4f3a9eb0246a4215b1a5>:0) UnityEngine.UIElements.MouseCaptureDispatchingStrategy.DispatchEvent (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel) (at <001bec72e88e4f3a9eb0246a4215b1a5>:0) UnityEngine.UIElements.EventDispatcher.ApplyDispatchingStrategies (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel, System.Boolean imguiEventIsInitiallyUsed) (at <001bec72e88e4f3a9eb0246a4215b1a5>:0) UnityEngine.UIElements.EventDispatcher.ProcessEvent (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel) (at <001bec72e88e4f3a9eb0246a4215b1a5>:0) UnityEngine.UIElements.EventDispatcher.ProcessEventQueue () (at <001bec72e88e4f3a9eb0246a4215b1a5>:0) UnityEngine.UIElements.EventDispatcher.OpenGate () (at <001bec72e88e4f3a9eb0246a4215b1a5>:0) UnityEngine.UIElements.EventDispatcherGate.Dispose () (at <001bec72e88e4f3a9eb0246a4215b1a5>:0) UnityEngine.UIElements.EventDispatcher.ProcessEvent (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel) (at <001bec72e88e4f3a9eb0246a4215b1a5>:0) UnityEngine.UIElements.EventDispatcher.Dispatch (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel, UnityEngine.UIElements.DispatchMode dispatchMode) (at <001bec72e88e4f3a9eb0246a4215b1a5>:0) UnityEngine.UIElements.BaseVisualElementPanel.SendEvent (UnityEngine.UIElements.EventBase e, UnityEngine.UIElements.DispatchMode dispatchMode) (at <001bec72e88e4f3a9eb0246a4215b1a5>:0) UnityEngine.UIElements.UIElementsUtility.DoDispatch (UnityEngine.UIElements.BaseVisualElementPanel panel) (at <001bec72e88e4f3a9eb0246a4215b1a5>:0) UnityEngine.UIElements.UIElementsUtility.UnityEngine.UIElements.IUIElementsUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr, System.Boolean& eventHandled) (at <001bec72e88e4f3a9eb0246a4215b1a5>:0) UnityEngine.UIElements.UIEventRegistration.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at <001bec72e88e4f3a9eb0246a4215b1a5>:0) UnityEngine.UIElements.UIEventRegistration+<>c.<.cctor>b__1_2 (System.Int32 i, System.IntPtr ptr) (at <001bec72e88e4f3a9eb0246a4215b1a5>:0) UnityEngine.GUIUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr, System.Boolean& result) (at <6ddf8eac3856492ab1b8cf42618915cc>:0)

RichLogan commented 2 years ago

@Storm101 I made #55 after I hitting the same thing (I think). Might help you out.

ypamacedo commented 2 years ago

I have stumbled into exactly the same problem. Trying to create a clone generates the following error from ParrelSync not being able to locate a file in my packages:

DirectoryNotFoundException: Could not find a part of the path 'D:\Criptonomia\Projetos\Dev-Cartas_git\Dev-Cartas\Dev-Cartas_clone_0\Packages'. System.IO.Error.WinIOError (System.Int32 errorCode, System.String maybeFullPath) (at <695d1cc93cca45069c528c15c9fdd749>:0) System.IO.FileSystemEnumerableIterator1[TSource].HandleError (System.Int32 hr, System.String path) (at <695d1cc93cca45069c528c15c9fdd749>:0) System.IO.FileSystemEnumerableIterator1[TSource].CommonInit () (at <695d1cc93cca45069c528c15c9fdd749>:0) System.IO.FileSystemEnumerableIterator1[TSource]..ctor (System.String path, System.String originalUserPath, System.String searchPattern, System.IO.SearchOption searchOption, System.IO.SearchResultHandler1[TSource] resultHandler, System.Boolean checkHost) (at <695d1cc93cca45069c528c15c9fdd749>:0) System.IO.FileSystemEnumerableFactory.CreateFileNameIterator (System.String path, System.String originalUserPath, System.String searchPattern, System.Boolean includeFiles, System.Boolean includeDirs, System.IO.SearchOption searchOption, System.Boolean checkHost) (at <695d1cc93cca45069c528c15c9fdd749>:0) System.IO.Directory.InternalGetFileDirectoryNames (System.String path, System.String userPathOriginal, System.String searchPattern, System.Boolean includeFiles, System.Boolean includeDirs, System.IO.SearchOption searchOption, System.Boolean checkHost) (at <695d1cc93cca45069c528c15c9fdd749>:0) System.IO.Directory.InternalGetFiles (System.String path, System.String searchPattern, System.IO.SearchOption searchOption) (at <695d1cc93cca45069c528c15c9fdd749>:0) System.IO.Directory.GetFiles (System.String path, System.String searchPattern, System.IO.SearchOption searchOption) (at <695d1cc93cca45069c528c15c9fdd749>:0) ParrelSync.ValidateCopiedFoldersIntegrity.CreateMd5ForFolder (System.String path) (at Assets/ParrelSync/ParrelSync/Editor/ValidateCopiedFoldersIntegrity.cs:48) ParrelSync.ValidateCopiedFoldersIntegrity.ValidateFolder (System.String targetRoot, System.String originalRoot, System.String folderName) (at Assets/ParrelSync/ParrelSync/Editor/ValidateCopiedFoldersIntegrity.cs:33) ParrelSync.ClonesManager.OpenProject (System.String projectPath) (at Assets/ParrelSync/ParrelSync/Editor/ClonesManager.cs:162) ParrelSync.ClonesManagerWindow.OnGUI () (at Assets/ParrelSync/ParrelSync/Editor/ClonesManagerWindow.cs:154) UnityEditor.HostView.InvokeOnGUI (UnityEngine.Rect onGUIPosition, UnityEngine.Rect viewRect) (at :0) UnityEditor.DockArea.DrawView (UnityEngine.Rect viewRect, UnityEngine.Rect dockAreaRect) (at :0) UnityEditor.DockArea.OldOnGUI () (at :0) UnityEngine.UIElements.IMGUIContainer.DoOnGUI (UnityEngine.Event evt, UnityEngine.Matrix4x4 parentTransform, UnityEngine.Rect clippingRect, System.Boolean isComputingLayout, UnityEngine.Rect layoutSize, System.Action onGUIHandler, System.Boolean canAffectFocus) (at :0) UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, UnityEngine.Matrix4x4 worldTransform, UnityEngine.Rect clippingRect, System.Action onGUIHandler, System.Boolean canAffectFocus) (at :0) UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, System.Action onGUIHandler, System.Boolean canAffectFocus) (at :0) UnityEngine.UIElements.IMGUIContainer.HandleIMGUIEvent (UnityEngine.Event e, System.Boolean canAffectFocus) (at :0) UnityEngine.UIElements.IMGUIContainer.SendEventToIMGUIRaw (UnityEngine.UIElements.EventBase evt, System.Boolean canAffectFocus, System.Boolean verifyBounds) (at :0) UnityEngine.UIElements.IMGUIContainer.SendEventToIMGUI (UnityEngine.UIElements.EventBase evt, System.Boolean canAffectFocus, System.Boolean verifyBounds) (at :0) UnityEngine.UIElements.IMGUIContainer.HandleEvent (UnityEngine.UIElements.EventBase evt) (at :0) UnityEngine.UIElements.CallbackEventHandler.HandleEventAtTargetPhase (UnityEngine.UIElements.EventBase evt) (at :0) UnityEngine.UIElements.MouseCaptureDispatchingStrategy.DispatchEvent (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel) (at :0) UnityEngine.UIElements.EventDispatcher.ApplyDispatchingStrategies (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel, System.Boolean imguiEventIsInitiallyUsed) (at :0) UnityEngine.UIElements.EventDispatcher.ProcessEvent (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel) (at :0) UnityEngine.UIElements.EventDispatcher.ProcessEventQueue () (at :0) UnityEngine.UIElements.EventDispatcher.OpenGate () (at :0) UnityEngine.UIElements.EventDispatcherGate.Dispose () (at :0) UnityEngine.UIElements.EventDispatcher.ProcessEvent (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel) (at :0) UnityEngine.UIElements.EventDispatcher.Dispatch (UnityEngine.UIElements.EventBase evt, UnityEngine.UIElements.IPanel panel, UnityEngine.UIElements.DispatchMode dispatchMode) (at :0) UnityEngine.UIElements.BaseVisualElementPanel.SendEvent (UnityEngine.UIElements.EventBase e, UnityEngine.UIElements.DispatchMode dispatchMode) (at :0) UnityEngine.UIElements.UIElementsUtility.DoDispatch (UnityEngine.UIElements.BaseVisualElementPanel panel) (at :0) UnityEngine.UIElements.UIElementsUtility.UnityEngine.UIElements.IUIElementsUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr, System.Boolean& eventHandled) (at :0) UnityEngine.UIElements.UIEventRegistration.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr) (at :0) UnityEngine.UIElements.UIEventRegistration+<>c.<.cctor>b1_2 (System.Int32 i, System.IntPtr ptr) (at :0) UnityEngine.GUIUtility.ProcessEvent (System.Int32 instanceID, System.IntPtr nativeEventPtr, System.Boolean& result) (at :0)

314pies commented 2 years ago

Duplicate of #55. (Look like we also need to check about the directory path as well...)