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.Managmentto 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:
Makefilecontains high-level commands for building and running the site and running testspaket.dependenciesdeclares all external dependencies for all projectspaket.lockcontains the exact concrete versions of our dependencies we currently useDisunity.sln.DotSettingscontains the Rider/Resharper project styles and warning levels.env.templateshould be copied to.envto supply environment variables to our Docker containers during development.gitignoreprevents certain files from being added to the repository
Please consult the various files within the docs/ directory for further documentation.