Space Engineers

Welcome to the Space Engineers source code!

From this repository you can build Space Engineers. To play Space Engineers you need to own the game on Steam. Assets (audio, models, textures) are not included in this repository.

Before downloading the source code please read the EULA carefully - End User License Agreement.

See the Change log for latest changes.
Have you found a problem related to the source code? Report an Issue.
Discuss source code on our source code sub-forum.

Prerequisities

Quickstart

Space Engineers must be installed on your computer, Steam must be running.

  • Clone or download and unpack the repository.
  • Open SpaceEngineers.sln in Visual Studio.
  • Open file global.props (it's in configuration folder).
  • Make sure ContentPath tag contains path to SpaceEngineers Content directory in Steam folder.
  • Start debugging by pressing F5 or select Debug - Start Debugging in main menu

Instead of modifying global.props, you can create user.props, more information here.

How to contribute

One way to contribute changes is to send a GitHub Pull Request.

To get started using GitHub:

  • Create your own Space Engineers fork by clicking the Fork button in the top right of this page.
  • Install a Git client on your computer.
  • Use the GitHub program to Sync the project's files to a folder on your computer.
  • Open up SpaceEngineers.sln in Visual Studio.
  • Modify the source codes and test your changes.
  • Using the GitHub program, you can easily submit contributions back up to your fork.
  • Do not commit to master, for each feature create new branch.
  • When you're ready to send the changes to the Keen Software House for review, simply create a Pull Request.
  • Following Coding rules will help us lower the time needed to process the PR and merge it thus increase the amount of PRs that can be merged

Advanced topics:

Common issues

Build error: The command "..\3rd\Utils\RunTemplate.bat "....\MyEnumToStringsGenerated"" exited with code 1. This is common when using old versions of Visual Studio, see Visual Studio support. It can also happen when TextTemplating.exe was not found for some reason (it should be installed with Visual Studio).

Assert: unable to find audio/model/texture file: 'xxxxxx'. This happens because repository is slightly ahead of content in Steam folder. Definitions (Content/Data) are taken from repository and may contain new definitions referencing assets which are not yet in Steam content folder. We decided to use definitions from repository by default, so you can easily modify it. You can edit global.props to use definitions from Steam (that should fix the issue). When running on Release asserts won't be shown; missing assets won't crash the game. More info here.

Where is the 64-bit version?

We're unable to provide a 64-bit version of all 3rd party libraries because of licensing. We're working on this and trying to negotiate a better license which will allow us to do that.