Team's workflow - PolskiPolakPL/scream-roulette-2025-game GitHub Wiki

GitHub

Branches

GitHub branches
The image above represents the branch layout of this repository. Each branch and their purpose are listed below:

  • main - The main branch of the repository. There is stored 'finished' product of our collaborative work. It's often used for releases and emergency backups. No one should work directly on it and make commits. Also, no other branches than 'Test' and 'preparation-backup' should be directly connected into this branch.
  • Test - Is the 'pre-main' branch that serves as a testing field for finding bugs and dealing with merge conflicts before merging it into the 'main' branch. Commiting on this branch is also prohibited. However, in an emergency we may create a temporart branch for bug fixes.
  • Developers/Artists - A group branches that not only keeps everything in order but also works simlar to 'Test' at the level of a given group.
  • Dev-name/Art-name - A branch with group's prefix and the developer's name. This branch is assigned to a particular developer and only that developer may work on this branch. Also 'owner' of this branch can create branches from that branch if needed. This is very recomended.
  • Asset-Dump - A branch created especially for artists to 'dump' and test assets from third party sources. Do NOT merge anything with this branch.

TL;DR Table

branch's name May Commit May branch out May Merge into
main NO NO FROM TEST
Test NO EMERGENCY ONLY Artists/Developers ONLY
Developers/Artists NO EMERGENCY ONLY YES
Dev/Art-name YES YES YES
Asset Dump YES NO NO

Commits & Pull Requests

Unity

Hierarchy

Hierarchia
Image above represents a hierarchy structure of the project in Unity. Objects are grouped by categories shown in the image each separated with dotted lines. Do NOT change their Transform values or attach any components/scripts. Each object that belongs to their respective category should become their child. The descriptions of the categories are listed below:

  • Setup - Basic setup objects like: lighting, camera, player, etc.
  • Systems - Holder for any more advanced systems created by developers. (ex.: InputSystem, InteracrionSystem)
  • Managers - Contains any managers like for example 'GameManager'
  • UI/Canvases - Contains Canvases and UI related objects.
  • Events - For objects that have public Events attached as their primary use.
  • Environments - Any other object that create the scene. Most models and prefabs will go right there.
  • Temporary - Objects that are there for development purposes only and should be removed before building the game.

Creating new Scene

In order to create new scene with all basic setup prepared, you may follow these steps below.

  1. In upper left nvaigation panel go to File > New Scene or press Ctrl+N. Zrzut ekranu 2025-02-14 203232\

  2. From 'New Scene' window select 'Default Scene' and click 'Create'. Zrzut ekranu 2025-02-14 203250\

  3. On the new scene, press Ctrl+S Make sure you save it in 'Scenes' folder Zrzut ekranu 2025-02-14 203941\