StationHub is the official launcher for Unitystation, it handles downloading, updating, and joining servers.
It is cross-platform using .NET 6 as the runtime and Avalonia MVVM for the UI.
You'll need git and the .NET 6 SDK installed.
To check out the repo you can run the following in the directory you'd like to save the repo locally:
git clone https://github.com/unitystation/stationhub.git
Once checked out you should be able to run the following in the directory with the UnitystationLauncher.sln
file:
dotnet build
Dependencies should be automatically restored by NuGet during the build process.
To test the build you just ran, you can do the following:
dotnet run --project ./UnitystationLauncher/UnitystationLauncher.csproj
Before opening your pull request please ensure there are no compile warnings for any new code that you've added.
.NET format is also enforced by the build pipeline, so before pushing your code you can run the following to make sure your code is formatted in the standard way:
dotnet format
Unit Tests are a work in progress currently, however once they are included you'll be able to run them with:
dotnet test
You'll want to ensure that existing tests pass, and make changes and additional tests where needed for your change. Also make sure to check out the Code Style Guide for the project.