Giter Site home page Giter Site logo

rxl220 / unityprojectcloner Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hwaet/unityprojectcloner

0.0 0.0 0.0 41 KB

A tool to let the user to create a duplicate project that links back to the original, for multiplayer testing

License: MIT License

C# 100.00%

unityprojectcloner's Introduction

Recent news! 11/2022

The 2022 unite presentation has shown progress on unity's multiplayer abilities, including a built-in process that seems to mimic this approach but in an even better way! That would be rad. Upon its release, this repository may become redundant.

cloner

UnityProjectCloner

A tool to let the user quickly duplicate their unity project without copying all the assets, for multiplayer testing

Why?

One method of quickly debugging multiplayer code is to run multiple unity editors of the same project, and inspect each instance as it works its way through the server/client functions. This is disabled by design for a unity project because of file IO concerns, so this tool lets you get around that by cloning your unity project and creating a series of hard links/junctions in your new cloned folder. These links point back to the original, which can let you edit code and see the results fairly quickly in each cloned unity.

How?

There's a couple ways you can add this to a unity project:

  1. Place this code anywhere in your project!
  2. Check this project out somewhere else and point to it with your Unity package manifest: "com.hwaet.projectcloner": "file:../../../../[relative path from your manifest file to the package.json]"
  3. If you've got git installed on your machine, (and unity is > 2018.3.0b7) add a line in your package manifest that points straight here! "com.hwaet.projectcloner": "https://github.com/hwaet/UnityProjectCloner.git"
  4. In recent unity versions, you can add the above git link directly in the editor without manually editing your manifest: image

Where?

The new cloned project will be placed right next to the original. So your folder structure will look like:

  • Root/ProjectName
  • Root/ProjectName_clone_0
  • Root/ProjectName_clone_1 ...

To open the window which allows to create a clone and manage it, in Unity Editor go to "Tools/Project Cloner". After the clone is created, you can launch it from the same window ("Open clone project" button will appear there). No need to add the clone to Unity Hub or anywhere else.

Future Plans:

  • I'm currently using a terminal command to create the folder links instead of kernel32, and that would be much wiser. So that'll be implemented in future passes of this.
  • Mac and linux suport would be swell.

Known Issues:

  • When using scriptable objects in one Editor instance, the user will need to trigger a save (either scene or project saves seem to work) in order for the clone to notice that change. Otherwise the scriptable object's values seem to be cached. Save often while you work with SOs!

unityprojectcloner's People

Contributors

hwaet avatar 314pies avatar arkms avatar jgroxz avatar

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.