How to collaborate on Construct projects with GitHub

56

Index

Stats

21,912 visits, 63,163 views

Tools

Translations

This tutorial hasn't been translated.

License

This tutorial is licensed under CC BY 4.0. Please refer to the license text if you wish to reuse, share or remix the content contained within this tutorial.

Published on 1 Apr, 2020. Last updated 12 Sep, 2024

Introduction

Often people want to work on the same Construct project as a team. Construct supports saving projects in a folder structure, where each part of the project is saved to a separate file. This is specifically designed to help teams work on each part of the project separately.

However trying to manage contributions, versions and merging by hand is a tedious and error-prone process. Source control software is designed to solve this problem. Some excellent solutions exist, such as SVN and Git. While these tools are designed for traditional programming systems (we use them for developing Construct itself), they can in fact work with any files, and are especially good with text-based files. Since Construct project, event sheet and layout information is saved in text-based formats, it lends itself well to source control.

There are also online source control services, which take care of a lot of details for you, such as hosting your files. There are many such services out there, and you could probably use any of them. However this tutorial focuses on GitHub since it's one of the most popular services, provides a decent free tier, and has a well-designed web interface.

Source control tools are so useful that many individual developers still find them useful, even though they are not working in a team. The tools provide features like viewing exactly what you've changed, showing a log of changes with descriptions, allowing you to view the exact changes made at any point in the past, rolling back to previous versions, branching to make experimental changes, and more. This can be invaluable for ambitious projects developed solo, so it can worth learning the process even if you aren't in a team.

This tutorial does not require any paid features, so you can try it out with the Free edition of Construct and a free GitHub account.

Head to the next page to get started.

  • 19 Comments

  • Order by
Want to leave a comment? Login or Register an account!
  • This is wrong, on page 2:

    "UI state files

    [...]Basically, the file is for you only and is of no interest to the rest of the team."

    The projectfiles.uistate.json file contains information about the array files, specifically the name of the rows and columns. If this file is not sent to the team, they will see the rows and columns being numbered instead of whatever name they had.

    So the .gitignore file can have these two lines:

    *.uistate.json

    !projectfiles.uistate.json

    The first one ignores all files ending with .uistate.json, the 2nd makes an exception to still have array column/row info.

  • I've been waiting for this. Thank you finally!!

  • As a solo dev hesitant to jump into source control, your tutorial was a game-changer! Now I'm excited to finally integrate it into my workflow and open the door to future collaboration. Thanks for making it so approachable!

  • Very useful and succinct tutorial on using source control via GitHub. thank you.

  • Very cool, when using this though, if I modify the position of an object or add new object etc, changes appear in my GIT commit list. However if I change a tilemap, adding or removing tiles, those changes do not appear in the commit list.

      • [-] [+]
      • 2
      • Ashley's avatar
      • Ashley
      • Construct Team Founder
      • 2 points
      • (3 children)

      All changes should appear in your commit list. If changes do not appear, then you have not saved the project, and the changes won't be there when you next open the project either.

      • I've tested a few times, certainly saving the project - if I move an object and save, it appears. If I modify a tilemap and save then nothing appears in the commit list.

        What's interesting is if I edit the tile map and then do something like move an objects position, when I commit the changes the tile map edits are saved. So that data is being captured, its just if I edit the tilemap and do nothing else, git thinks I've made no edits to the project and nothing appears in the commit list.

          • [-] [+]
          • 0
          • Ashley's avatar
          • Ashley
          • Construct Team Founder
          • 0 points
          • *
          • (0 children)

          Tilemap data is saved in the corresponding layout JSON file, so check for changes there. Maybe GitHub Desktop isn't checking there or something, or perhaps you forgot to add the files in the first place.

      • Recorded a quick video showing the issue: youtu.be/QRjykEozW-U

  • Load more comments (10 replies)