Code Monkey home page Code Monkey logo

parrelsync's People

Contributors

314pies avatar cnra avatar dudareviv avatar guplem avatar hwaet avatar ian579 avatar jgroxz avatar kaladrius2trip avatar knockknockp avatar mwilga avatar

Stargazers

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

Watchers

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

parrelsync's Issues

Unable to create working clone

Describe the bug
The clone created does not work. When trying to open it in a new editor, it opens unity hub and
does nothing else.

To Reproduce
Steps to reproduce the behavior:

  1. Go to ParrelSync > ClonesManager > AddNewClone
  2. Click on 'Open In New Editor'

Expected behavior
It should have open a new instance of the editor

Screenshots/Video
image

Enviroment (please complete the following information):

  • Unity Editor Version: [e.g. Windows 10 2019.4.015f1]
  • ParrelSync Version [e.g. 1.4.1]

Additional context
When creating a new clone, it gave a "FileNotFoundException" in the console:
image

[BUG] ParrelSync don't work properly with Mixed Reality Tool

Describe the bug
Trying to clone a project with Unity Mixed Reality Tool, with Standard Tools, OpenXR plugin don't clone and get stuck on "hold on".

To Reproduce
Steps to reproduce the behavior:

  1. Create a new project on Unity
  2. Use MRTK, install Standard Assets and OpenXR plugin
  3. Install ParrelSync via git
  4. Try to clone a project

Expected behavior
The project don't clone get stuck on importing assets window.

Screenshots/Video
image

Enviroment (please complete the following information):

  • Unity Editor Version: 2020.3.20f1
  • ParrelSync Version: (For Example: 1.5.0)
  • OS Version: Windows 10 Home Edition

Unity Instantly Crashing when opening clone in 2021.2.1f1

Describe the bug
Opening cloned project whist using Unity 2021.2.1f1 crashes the clone project instantly.

To Reproduce
Steps to reproduce the behavior:

  1. Create project in 2021.2.1f1
  2. Create clone
  3. Open
  4. Don't profit

Expected behavior
Probably shouldn't crash

Enviroment (please complete the following information):

  • Unity Editor Version: 2021.2.1f1
  • ParrelSync Version: 1.5.0
  • OS Version: Windows 11

[BUG] When using Mirror clone freezes.

When using Mirror clone freezes. As soon as the clone connects online at all, either as server or client
A clear and concise description of what the bug is. Unity 2020.3.1 LTS

To Reproduce
Steps to reproduce the behavior:

  1. Add a Mirror Networking "Network Manager" and "Network HUD" to original Project and enable the HUD
  2. Add any GameObject to the Network Managers "Player Prefab" Field.
  3. Go to 'Project Clone'
  4. Click on 'Play' in Clone start it as Server in through Networking HUD
  5. In OG Project Click play and connect as Client through Networking HUD
  6. See freeze on Clones side.

Expected behavior
Doesn't freeze and player spawns.

Screenshots/Video

Enviroment (please complete the following information):

  • Unity Editor Version: [e.g. Windows 2020.3.1f1 LTS]
  • ParrelSync Version [e.g. 1.4.2]

Additional context

[Question] Do clones have their code updated automatically?

I didn't find this in the homepage, so I have to ask:

Do clones have their code updated automatically?
Unity by default auto-refreshes, so, once the code is changed on the original, does it also change on the clones?
Or do I have to build clones for each new build?

[Feature Request] Packages folder sync

Describe the feature you'd like
Thank you, the Parrel Sync is a amzing plugin for mupltiplayer dev.
But at this time, The parrel sync do not support sync of the packages folder.

Cinemachine clone

hello everyone .I have a trouble with parrelSync . I use photon and parrelsync is very usefull ,but i have an issue with cinemachine, when i want to clone my project i catch an error with the clone manager.cs , with a path to the packageCache and cinemachine

image

[BUG]

Describe the bug
A clear and concise description of what the bug is.

To Reproduce
Steps to reproduce the behavior:

  1. Go to '...'
  2. Click on '....'
  3. Scroll down to '....'
  4. See error

Expected behavior
A clear and concise description of what you expected to happen.

Screenshots/Video
If applicable, add screenshots or video link( Youtube/Vimeo) to help explain the problem.

Enviroment (please complete the following information):

  • Unity Editor Version: [e.g. Windows 2019.3.0f6]
  • ParrelSync Version [e.g. 1.2]

Additional context
Add any other context about the problem here.

Symlinking Packages directory

Describe the bug
The Packages directory isn't being symlinked

To Reproduce
Steps to reproduce the behavior:

  1. Go to ParrelSync
  2. Click on Clones Manager
  3. Create New Clone
  4. See no symlinked directory for Packages

Expected behavior
Expected the Packages folder to be symlinked

Screenshots/Video
image

Enviroment (please complete the following information):

  • Unity Editor Version: 2021.1.22f1
  • ParrelSync Version: 1.5.1
  • OS Version: Windos 10 21H1

Additional context
Add any other context about the problem here.

[BUG] PlayerPrefs keep the same values between editor instances

Describe the bug
If we change PlayerPrefs value inside any editor (clone or original) all other editors have their changes reflected.

To Reproduce
Steps to reproduce the behavior:

  1. Set any PlayerPref value in any editor instance.
  2. Read the data on any other editor instance.

Expected behavior
Expected - PlayerPrefs value changes are only local to each editor

[BUG] Unity 2021.1.2f1 breaks Parrel Sync

Describe the bug
Creating a clone in Unity 2021.1.2f1 generates this error: "File not found exception: Could not find file"... Even when trying to clone a freshly created blank project.

The clone creation process then stops and the "Hold on..." floating window just sits there and does nothing.

I'm using Hub 2.4.3, but I was able to successfully create and run a clone in Unity 2020.3. I was also successfully able to run my 2020.1.17f1 project and clone using Hub 2.4.3

To Reproduce
Steps to reproduce the behavior:
In Unity 2021.1.2f1, (even in a blank, freshly created project), attempt to create a new clone.

Screenshots/Video

80ED9665-F53E-48BD-80EE-51B02D4F6BDA

Unity keeps Resolving packages when switching between clone and original.

I have a single clone of my project to test Mirror multiplayer. But when I switch between original and clone project editors, "Resolving packages" window appears, and takes few seconds to complete, which is kinda annoing. I already tried to clone original project again, but still, the issue is there. It seems like packages between original and clone are conflicting in some way (?). Is there any way to fix this? Thanks.

[BUG] Clones running after unexpected Unity process killed

Describe the bug
The Clone Manager shows my 2 clone projects running (which is not true since I'm trying to find them on my computer's tasks and they are not there) but now I'm unable to open them or delete them. I'm unable to do anything and don't know what to do.

To Reproduce
Steps to reproduce the behavior:

  1. Have any clone up and running
  2. I run out of battery on my computer when this happened but it also happened when I stopped the main Unity process since it wasn't responding (Ctrl+Alt+Delete or with the PC's Task Manager)
  3. After restarting Unity, open the Clone Manager
  4. See error. One is unable to press any button for restarting or deleting a clone. But it says they are running

Expected behavior
One would expect the clone to be killed as well with the main process so whenever Unity is opened again, one is able to open the clone normally

Screenshots/Video
If applicable, add screenshots or video link( Youtube/Vimeo) to help explain the problem.
Screenshot 2020-11-18 at 08 26 02

Enviroment (please complete the following information):

  • Unity Editor Version: macOS Catalina with Unity 2019.4.11f1
  • ParrelSync Version [e.g. 1.4.1]

Additional context
I won't expect ParrelSync to kill itself if the main process is suddenly killed, but it would be nice to be able to kill a clone or restart it if anything happened no? My only solution now is going to the folder, delete the whole folder and create a new clone (which I don't know if it's going to be seen as number 3 in my case or start from scratch)

[Feature Request] Customizable CloneNameSuffix for an easier alt-tab search

Describe the feature you'd like
It would be awesome to be able to set the name of the clones, or to have the "arguments" asked for ahead of creating the clone folder and included it in clone folder name instead of clone_.

The benefit would be that the window title (and alt-tab and window-tab preview titles) will show the folder name at the beginning of the window name and it would make it easier for me to find my "server", "host", "client", etc clones.
clone names so I can find my named clones

If you were to go with the option of allowing me to set CloneNameSuffix before I create the clone, could you also please expose an API such as ClonesManager.GetCloneName() so that I can use that clone name so that I can skip the need for the arguments -- so that when I create a clone with 'server' in its folder name, I likely want to use that to enable some server behaviors.

Describe alternatives you've considered
My current alternative is to mentally keep record of which clone is meant to run server, client, host (e.g. Clone_0 is host, clone_1 is server, main is client, etc)

I may just be missing a better way to find my various clones when alt-tabbing. Please educate me if that is the case.

[BUG] ClonesManager opening unity hub

Describe the bug
The clones manager is opening unity hub instead of an Editor

To Reproduce
Steps to reproduce the behavior:

  1. Go to ClonesManager > Clone 0
  2. Click on 'Open in New Editor'
  3. Unity Editor loads for a second
  4. The editor loading screen closes and unity hub appears

Expected behavior
The editor should have finished loading such that there is another instance

Screenshots/Video
If applicable, add screenshots or video link( Youtube/Vimeo) to help explain the problem.

video.zip

Enviroment (please complete the following information):

  • Unity Editor Version: Windows 10 Unity 2019.4.15f1 Personal
  • ParrelSync Version 1.4.1

Additional context
Add any other context about the problem here.

[BUG] Useless/Unused Library included

14

14

I deleted it, and it seems to work - I don't get why there is such a dependency, especially one which is unused

Enviroment

  • Windows 2018.1.1f1
  • ParrelSync 1.4.1

[Feature Request] - Support for Linux please!

Hello! I've been programming in Unity for the last year using Windows using ParrelSync. I found that this plugin is the most useful tool for a network based game and now that I'm stable using Linux I really miss this feature.

I don't know if I can help with something but it would be great, too!

Thank you.

[Feature Request] Longer file path names >255 chars

I'm currently having issues with my project because of >255 path strings which the clone generator isn't able to parse throwing a file not found error message.
I'm not sure whether it's a serious restriction in the script or not, so I decided to post it as a Feature Request.
Such a feature would be greatly appreciated. Thanks!

[ISSUE]Appearing pop-up of the packagemanager on focus of editor

Describe the bug
A pop-up of the package manager appears saying Trying to resolve packages, when focusing between the editors
Happens always

To Reproduce
Steps to reproduce the behavior:

  1. Create new project
  2. Create new clone
  3. Focus between original and clone
  4. Popup appears on focus saying Resolving packages, delaying the project

Expected behavior
Nothing should appear

Enviroment (please complete the following information):

  • Unity Editor Version: [e.g. Windows 2019.4.21f1]
  • ParrelSync Version [e.g. 1.4.2]

Additional context
mkLink gives the same error

[BUG] Unable to open clone projects from Clones Manager

Describe the bug
I am using the HDRP pipeline with a simple scene.

After cloning the project, clicking the 'Open in New Editor' fails, and running the cloned project directly generates this error:

unknown

Copying this missing directory (LocalPackages) to the clone allows the cloned project to be opened directly, but it still fails to open when trying the 'Open in New Editor' option in ParrelSync.

Stuck on add new clone

Describe the bug
I don't know why it not work but, when I open new project then click add new clone it stuck on Importing asset modal window

To Reproduce
Steps to reproduce the behavior:

  1. Open Project
  2. Click Parrallel sync tool
  3. Click Clone manager
  4. Click Add new Clone

Screenshots/Video
https://ibb.co/z6NmvYX

Enviroment (please complete the following information):

  • Unity Editor Version: (2021.1.16f)
  • ParrelSync Version: (For Example: 1.5.0)
  • OS Version: (For Example:Windows 10 21H1)

[BUG] Try to copying com.unity.collections asmdef but file could not find

I'm trying to use ParrelSync in my project, but this error occurs:
FileNotFoundException: Could not find file "\Project\Library\PackageCache\[email protected]\Unity.Collections.LowLevel.ILSupport\source~\Unity.Collections.LowLevel.ILSupport.CodeGen\Unity.Collections.LowLevel.ILSupport.CodeGen.asmdef'.
Somehow he didn't find the file.

Steps to reproduce the behavior:

  1. Download "com.unity.collections" (using 0.14v - https://docs.unity3d.com/Packages/[email protected]/manual/index.html) in PackageManager
  2. Try to clone with ParrelSync

Expected behavior
Found the file and copy properly the project.

Enviroment (please complete the following information):

  • Unity Editor Version: Windows 2020.3.10f1
  • ParrelSync Version: 1.5.0
  • com.unity.collections: 0.14

UnityEditor.EditorApplication' does not contain a definition for `quitting'

Describe the question
i import that package,but there seems to be a problem.
the unity console report that there is no definition of "quitting" like this:
Assets/ParrelSync/ParrelSync/Editor/AssetModBlock/EditorQuit.cs(22,31): error CS0117: UnityEditor.EditorApplication' does not contain a definition for quitting
Did you use any other definitions? i really need help!!!
Screenshots/Video
If applicable, add screenshots or video link( Youtube/Vimeo) to help explain the question.

Wiki Misleading

#if UNITY_EDITOR
using UnityEngine;
using ParrelSync;

public class MyMultiplayerTestScript: MonoBehaviour
{
    void Start()
    {
        if (ClonesManager.IsClone()) 
        {
          // This is a clone project, connect to local host
        }
        else  
        { 
          // This is the original project, start server
        }
    }
}
#endif

Should be

#if UNITYEDITOR
using UnityEngine;
using ParrelSync;

public class MyMultiplayerTestScript: MonoBehaviour
{
    void Start()
    {
        if (ClonesManager.IsClone()) 
        {
          // This is a clone project, connect to local host
        }
        else  
        { 
          // This is the original project, start server
        }
    }
}
#endif

At least on my version of unity, 2020.3.17, UNITY_EDITOR didn't work for me and really slowed me down

Unity HUB

It appears that ParrelSync doesn't work with the Unity's HUB product. Is the correct? If not, how should this be setup? Hub does prevent a second instance of Unity from running.

[Question] Parrel Sync doesn't seem to work for Unity Hub 2.4.3

I'm not sure if this should be a bug report or a feature request but I tried using ParrelSync with a project that was opened from the latest Unity Hub. When I try to run the clone from the clone manager rather than launching another editor it takes me to Unity Hub and gives me the message "Project is already running". I'm currently using Unity Hub 2.4.3 and Unity Version 2020.3.0f1. Before I upgraded to Unity Hub 2.4.3 I was using Unity Hub 2.2.2 and ParrelSync was working fine.

Looks like ParrelSync is affecting the Package Manager

Hi,
at first, thanks for this great tool! I just noticed that, when I switch between the original and the cloned unity editors the Package Manager starts "Resolving packages". It takes only a few seconds but it is a bit annoying when you constantly switch between the windows. This doesn't seem to happen, when I use a different unity instance and not the cloned instance. I'm using Unity 2020.2.

Best regards,
Chris

Update note for the wiki page or the read me page

Hi,
I recently tried using the plugin in a project, however after cloning a project, I was unable to actually open a cloned editor. Instead what happened was that the Unity Hub application would load and I was unable to load a cloned editor.
After some Googling, I was unable to find any instances where this had already happened before.
Today after some sleep, I thought to check how I had things setup and I think I found the issue.
I had my project files in a mapped drive (the files were essentially symbolic links). I copied my entire project to its own folder from the root (C:) drive and retried, it then worked with absolutely no issues.
Some things to note in my initial setup.
The files are/were hosted in a Onedrive folder, due to issues with Unity returning paths that were too long I resorted to mapping the folder to a drive on my machine to overcome this.
I also had these files setup to use github so I can learn and start using version control (while I have had github for a number of years, I have only just started to try and actually use it, so I am still learning).
So since I believe that the issue here was using mapped drives and symbolic links, it may be worth noting this on an FAQ or the wiki as I did note see anything referencing this. If there is something somewhere, I must have missed it and it may be worth making it a little clearer. Additionally, there is always the option of potentially listing this as a bug if someone wishes to address this, however I do not know the underbelly of the application and believe my knowledge in this at this time is far too limited to comment on.

Hopefully, this will at least help someone else in future who may encounter this issue.

Thanks

There is no seperate Playerpref data for seperate instance.

I am using this plugin, working very fine, i am thankful for this wonderful plugin.

Suggestion :

I am working on multiplayer game using photonnetwok, i am testing with clone manger but there were my playerpref data is right now share with every instance,

is there any way to achieve this functionalities?

Thank you.

[Feature Request] Select extra dependencies on Clone creation

Describe the feature you'd like
A way to select extra dependencies that should be synchronized between instances.
(A file explorer in the original project files to select what you want to sync)

Describe alternatives you've considered
Additional context
Right now I'm using manual symlinks.

[BUG] Unity crash on symlink since 2021.2.0b14+ and 2022.1.0a9+

Describe the bug
ParrelSync doesn't work with Unity 2021.2.0b14+ and 2022.1.0a9+ due to a bug in Unity.

To Reproduce
Steps to reproduce the behavior:

  1. Create project with Unity 2021.2.0b14+
  2. Clone
  3. Open cloned project
  4. Crash in 0x00007ff762cbfee1 (Unity) OnDemandScheduler::SetStandbyWorkerCount

https://issuetracker.unity3d.com/issues/crash-on-ondemandscheduler-setstandbyworkercount-when-opening-a-project-with-a-symbolic-link-in-it
It seems Unity has problem with symbolic links in latest versions.
I am not sure if it's easy to workaround on ParrelSync side (probably not) so please upvote this link so that this gets Unity attention!

[BUG] Cannot create clone - Packages 'root' argument directory?

Describe the bug
I pressed "Open in New Editor" and I got the error:

Failed to resolve packages: root argument is not a directory. No packages loaded.
A re-import of the project may be required to fix the issue or a manual modification of C:/Users/unity/Desktop/Unity/Double Damnation/Co-Op Prototype/46e/Co-Op Prototype_clone_0/Packages/manifest.json file.

If I press Continue, and open the project, I get:

The type UnityEngine.MonoBehaviour' has been forwarded to an assembly that is not referenced. Consider adding a reference to assembly UnityEngine.CoreModule, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'
error CS1070: Assets/Bearded Man Studios Inc/Generated/NetworkManager.cs(7,40)

To Reproduce

  1. Import Forge Networking Remastered
  2. Open Unity (2018.1.1f1?)
  3. Clear all up all legacy issues #27
  4. Create New Clone
  5. Clone Created Succesfully
  6. Open New Editor
  7. Error
    14
  8. Continue anyway to see if it works
    14

Expected behavior
Given it was suggested in the Forge Networking discord, I expected it to work. To simply create a new Unity instance.

Enviroment

  • Unity Editor Version: Windows 2018.1.f1
  • ParrelSync Version 1.4.1

Additional Information
This is the packages folder, the clones get from the original project
14
14
14

[Question] Sharing Input Between Clones

I have only 2 players for my netcoding
This means I have one normal/original project, and one clone_0

For example, I want to move player1, and player2 at the same time. Say, one with WASD, the other with arrow keys (e.g. detected by ClonesManager.IsClone())
I can focus only on one window

I use Windows 7, Unity 2018.1.f1

Is there a way to share input between the windows?
Any way helps!

[Question] ParrelSync namespace undetected - Can't use IsClone()

I try to use ClonesManager.IsClone https://github.com/VeriorPies/ParrelSync/wiki/List-of-APIs
Yet, there is nothing detected under ParrelSync, except .UnityNear
I am certain ClonesManager.cs is inside the namespace of ParrelSync

For clarification, inside ClonesManager.cs, IsClone() is a function, so it definitely exists. I guess this is a namespace issue, perhaps related to how the project folder structure is? idk, asking if anyone has a suggestion

[BUG] Can't create cloned project

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):

  • Unity Editor Version: Unity 2020.3.12f1
  • ParrelSync Version: 1.5.0
  • OS Version: Windows 10

Error message:
FileNotFoundException: Could not find file 'E:\Certificates\Certificate III - Game Art\Unity\New Age - Combat Test - URP - Networking\Library\PackageCache\[email protected]\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.b__28_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)

[BUG] package-lock.json is not synchronized

Describe the bug
Updating package-lock.json in the original UnityProject does not sync to the clone.
(I didn't add or remove any packages, I updated the hash.)

Enviroment (please complete the following information):

  • Unity Editor Version: macOS 2020.3.6
  • ParrelSync Version: 1.5.0

Additional context
There will be a difference MyProject/Packages/packages-lock.json and MyProject_clone_0/Packages/packages-lock.json

[BUG] The preferences are not "easily" syncronized

Describe the bug
When changing the preferences in the main project, the changes are not reflected in the clones.

To Reproduce
I detected this error by doing the following with a clone running:

  1. In the main project > Edit > Preferences > General
  2. Disabled "Show Asset Store Search Hits"
    The value is not synchronized to the clone even if the clone is restarted.

I was using ParrelSync 1.2. However, I did the following and nothing happened:

  1. Deleted the clones.
  2. Updated ParrelSync to v 1.3.2
  3. Closed and relaunched the main project
  4. After checking that the preferences are set as I wanted, create a new clone.
    The clone did have the change in preferences that I did in the main project.

Expected behavior
The clone should change the preferences straight away imitating the ones in the main project or, at least, a message in the console saying what steps should be done to sync the preferences must be done.

Enviroment (please complete the following information):

  • Unity Editor Version: Windows 2019.3.10f1
  • ParrelSync Version: 1.2

[Solution] Crash when using Firebase

Steps to reproduce:

  1. Import firebase
  2. Play original editor
  3. Play 1 clone editor
  4. Clone editor crashed

Fix:
For Editor only, use:
db = FirebaseFirestore.GetInstance(FirebaseApp.Create());
db.Settings.PersistenceEnabled = false;
instead of
db = FirebaseFirestore.DefaultInstance;

image

Reference: firebase/quickstart-unity#638

[BUG] Prefabs are not synchronized

Describe the bug
I had a prefab, which had a public variable, storing another prefab (GameObject)

To Reproduce
I just put the prefab's field on another prefab, with the original window

Expected behavior
The clone(s) should also have that field/prefab filled with the prefab reference, but it didn't (it was null)
I even re-compiled.

Screenshots/Video
None

Enviroment (please complete the following information):
Windows 7 2018.1.1f1
ParrelSync Version (latest I think)

Additional context
Recompiling doesn't fix it. I just delete the clone, close the entire project, remake the clone, ggwp

[BUG] Legacy Issues

I am using Unity 2018.1.f1, Windows 7, ParrelSync 1.4.1

Error: "Symbolic Links cannot be used because it is not part of the C# 4.0 language specification"
The bug is at https://github.com/VeriorPies/ParrelSync/blob/master/ParrelSync/Editor/ClonesManager.cs#L301

The fix is obvious
var command = "ln -s " + sourcePath + " " + destinationPath;
and no matter what I do, after I fix it, I get a bunch of errors, probably related to my legacy stuff
Like, Path.Combine taking 3 arguments, and my library can take only up to 2.

Image below is all errors I get. Is there an alternative for that code?
For example, Path.Combine(x,y,z) can be Path.Combine(x,Path.Combine(y,z))
image

Update:

  • Path.Combine now works
    string UnityLockFilePath = Path.Combine(projectPath, "Temp", "UnityLockfile");
    to
    string UnityLockFilePath = Path.Combine(projectPath, Path.Combine("Temp", "UnityLockfile"));
  • string.Join(separator[0].ToString(), pathArray);
    to
    for (int i = 0; i < pathArray.Count; i++) rootPath = rootPath + separator[0].ToString() + pathArray[i];
    Is this correct?
  • On .NET 5.0+ DirectoryInfo https://github.com/VeriorPies/ParrelSync/blob/master/ParrelSync/Editor/ClonesManager.cs#L568, here is what I did:
private static long GetDirectorySize(DirectoryInfo directory, bool includeNested = false, string progressBarPrefix = "")
        {
            EditorUtility.DisplayProgressBar(progressBarPrefix + "Calculating size of directories...",
                "Scanning '" + directory.FullName + "'...", 0f);

            /// Calculate size of all files in directory.
            long filesSize = GetLocalDirectorySize(directory.FullName);

            /// Calculate size of all nested directories.
            long directoriesSize = 0;
            if (includeNested)
            {
                List<DirectoryInfo> nestedDirectories = new List<DirectoryInfo>(directory.GetDirectories());
                foreach (DirectoryInfo nestedDir in nestedDirectories)
                {
                    directoriesSize += ClonesManager.GetDirectorySize(nestedDir, true, progressBarPrefix);
                }
            }

            return filesSize + directoriesSize;
        }

static long GetLocalDirectorySize(string p)
        {
            // 1. Get array of all file names.
            string[] a = Directory.GetFiles(p, "*.*");

            // 2. Calculate total bytes of all files in a loop.
            long b = 0;
            foreach (string name in a)
            {
                // 3. Use FileInfo to get length of each file.
                FileInfo info = new FileInfo(name);
                b += info.Length;
            }
            // 4. Return total size
            return b;
        }

If my hacky edits work, I will close this issue (and hopefully take the time to push them, with an #if_.NET_4.0 declaration)

[Install Bug]

Problem:
Adding package from git URL

3 errors:
[Package Manager Window] Unable to add package [https://github.com/VeriorPies/ParrelSync.git?path=/ParrelSync ]:
Cannot checkout repository [https://github.com/VeriorPies/ParrelSync.git] on target path [ParrelSync ]:
Error when executing git command. error: pathspec 'ParrelSync ' did not match any file(s) known to git

[Package Manager Window] Cannot perform upm operation: Unable to add package [https://github.com/VeriorPies/ParrelSync.git?path=/ParrelSync ]:
Cannot checkout repository [https://github.com/VeriorPies/ParrelSync.git] on target path [ParrelSync ]:
Error when executing git command. error: pathspec 'ParrelSync ' did not match any file(s) known to git
[NotFound].

[Package Manager Window] Error adding package: https://github.com/VeriorPies/ParrelSync.git?path=/ParrelSync .
UnityEditor.EditorApplication:Internal_CallUpdateFunctions (

[Feature Request] Support for Linux

Describe the feature you'd like
Hi, the Linux community and many more I'm sure would really appreciate Linux support for this project.
Especially since dedicated servers and supporting multiple platforms are very valuable things to have as a game.

Describe alternatives you've considered
The alternative is to create a Bash, Python, DotNetCore script that does this.
if it was a DotNetCore script, it will be very simple to integrate into Unity.

Additional context
image

image

Thank you!

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.