Skip to content

Latest commit

 

History

History
80 lines (65 loc) · 4.46 KB

README.md

File metadata and controls

80 lines (65 loc) · 4.46 KB

ParrelSync

Release Documentation License PRs Welcome Chats

ParrelSync is a Unity editor extension that allows users to test multiplayer gameplay without building the project by having another Unity editor window opened and mirror the changes from the original project.


ShortGif

Test project changes on clients and server within seconds - both in editor

Features

  1. Test multiplayer gameplay without building the project
  2. GUI tools for managing all project clones
  3. Protected assets from being modified by other clone instances
  4. Handy APIs to speed up testing workflows

Installation

  1. Backup your project folder or use a version control system such as Git or SVN
  2. Download .unitypackage from the latest release and import it to your project.
  3. Parrel Sync should appreared in the menu item bar after imported UpdateButtonInMenu

Check out the Installation-and-Update page for more details.

UPM Package

After Unity 2019.3.4f1, Unity 2020.1a21, that support path query parameter of git package. You can add https://github.com/VeriorPies/ParrelSync.git?path=/ParrelSync to Package Manager UPM_Image UPM_Image2
or add "com.veriorpies.parrelsync": "https://github.com/VeriorPies/ParrelSync.git?path=/ParrelSync" to Packages/manifest.json.
If you want to set a target version, ParrelSync is using *.*.* release tag so you can specify a version like #1.4.1. For example https://github.com/VeriorPies/ParrelSync.git?path=/ParrelSync#2.0.36.

Supported Platform

Currently, ParrelSync supports Windows and macOS editors.
Please create a feature request if you want Linux support to be added.

ParrelSync has been tested with the following Unity version. However, it should also work with other versions as well.

  • 2020.1.2f1
  • 2019.3.0f6
  • 2018.4.22f1

APIs

There's some useful APIs for speeding up the multiplayer testing workflow. Here's a basic example:

if (ClonesManager.IsClone()) {
  // Automatically connect to local host if this is the clone editor
}else{
  // Automatically start server if this is the original editor
}

Check out the doc to view the complete API list.

How does it work?

For each clone instance, ParrelSync will make a copy of the original project folder and reference the Asset, Packages and ProjectSettings folder back to the original project with symbolic link. Other folders such as Library, Temp, and obj will remain independent for each clone project.

All clones are placed right next to the original project with suffix _clone_x, which will be something like this in the folder hierarchy.

/ProjectName
/ProjectName_clone_0
/ProjectName_clone_1
...

Discord Server

We have a Discord server.

Need Help?

Some common questions and troubleshooting can be found under the Troubleshooting & FAQs page.
You can also create a question post, or ask on Discord if you prefer to have a real-time conversation.

Support this project

A star will be appreciated :)

Credits

This project is originated from hwaet's UnityProjectCloner