Disunity components are separated into a number of projects within the repository:
Disunity.Core/
general functionality shared by multiple componentsDisunity.Editor/
Unity Editor extension for exporting mod archivesDisunity.Preloader/
MonoMod preload patcher which implements the Disunity mod-preloaderDisunity.Runtime/
Bepinex plugin which implements the Disunity runtime mod-loaderDisunity.Management/
functionality covering all aspects of local mod managementDisunity.Management.Startup/
a simple wrapper forDisunity.Managment
to facilate the EF Core cli toolsDisunity.Management.Cli/
a commandline mod manager which utilizes Disunity.ManagementDisunity.Store/
an ASP.NET Core site implementing the mod store backendFrontend/
a Typescript/Vue.js frontend for the mod store
A number of other directories contain other useful things:
docs/
developer documentation in markdowndocker/
artifacts for building and running our Docker containerslib/
stripped pre-compiled assemblies that some projects rely on, not available in nugetExampleMod/
a Unity project which contains a simple example Disunity mod
There are a few files of note too:
Makefile
contains high-level commands for building and running the site and running testspaket.dependencies
declares all external dependencies for all projectspaket.lock
contains the exact concrete versions of our dependencies we currently useDisunity.sln.DotSettings
contains the Rider/Resharper project styles and warning levels.env.template
should be copied to.env
to supply environment variables to our Docker containers during development.gitignore
prevents certain files from being added to the repository
Please consult the various files within the docs/
directory for further documentation.