Introduction - modesttree/Projeny GitHub Wiki

The purpose of Projeny is to allow your Unity3D project to easily scale in size without heavily impacting development time.

Projeny allows you to:

  • Share any Unity assets (code, scenes, prefabs, etc.) across multiple different Unity projects without copy and pasting
  • Instantly switch between platforms
  • Easily upgrade or downgrade installed asset store packages
  • Optimize compile time of your project by getting Unity to only recompile the code that changes most often
  • Split up your project into discrete packages, so that you can manage the dependencies between each, instead of having one giant Unity project of inter-related files
  • Declare dependencies between packages, so that you always get the packages that you need without needing to hunt down missing libraries or broken links
  • Generate a more intelligent Visual Studio solution than the Unity default, using package dependencies to create csproj dependencies

See below for details on how Projeny achieves all these features.

This project is open source. If you're interested in helping, great! There's still a number of features we'd like to support eventually (in particular we need help with supporting OSX).

NOTE: Projeny requires Unity3D 5.3.1 or higher, since it makes use of the -buildTarget command line switch is only fixed in 5.3.1

Table Of Contents

  • Installation
  • Overview
  • Advantages of Using Projeny
    1. Shared files between projects
    2. Package Organization and Asset Store integration
    3. Near instant platform switching
    4. Compile time optimization
    5. Platform specific package folders
    6. Dependency Management of Packages
    7. More intelligent Visual Studio Solution generation
  • Usage Details
    • Managing Asset Store Assets / Releases
    • Using Multiple Package Folders
    • Sharing Project Settings
    • Gotchas With Directory Links
    • Frequently Asked Questions
      • How do I create a new package?
      • How do I create a new project?
      • How do I start an entirely new set of Projeny-based project from scratch?
    • Configuration Files
      • Projeny.yaml reference
      • ProjenyProject.yaml reference
      • ProjenyPackage.yaml reference
    • Custom Release Sources
    • Command Line Reference
  • Appendix
    • A. "Gotchas" with using external assemblies:
  • Release Notes
  • License