https://unity3d.com/get-unity/download
- Open Unity Hub
- Go the Unity Download Archive and install version 2022.3.1f1 via the Unity Hub link
You can download and install the project either via Github Desktop or by using the git CLI (command-line interface) -- most folks should opt to use Github Desktop unless you're already comfortable with - or want to learn how to use - the CLI
- If you don't know git very well, the best way to clone this project is to use https://desktop.github.com/ -- the website will have instructions for setting up github and cloning this repository.
- To open the project, you will need to have the git CLI installed
- You may need to manually initialize git LFS. Once cloned use
git lfs install
andgit lfs pull
to pull any binary files
From the Unity Hub | Projects tab, click "Open," navigate to where Git checked out the project, and select the SSJ23-Idle directory
This will help us find each other's code in our IDE's and will make refactoring later easier.
Name your branch with a prefix unique to you, and a small phrase describing what you're working on, e.g. devin/pickup-system
-- if you're just working a bunch of things it's fine to use something like myname/staging
or myname/dev
Create a scene for yourself and do new work there. Only include the bare minimum objects and components in your scene to validate what you're working on. If you're building/testing a lot of things, consider making your own directory to store your Scenes.
Unity youtubers will often encourage the use of the Singleton pattern for holding all the state in a scene. This is usually not a great approach! Review this blog post or this quick tutorial to observe how - if your code doesn't need a Transform
or any Update()
calls - you can put it into a ScriptableObject that can be referenced by anything that needs access to that information. Note that I've added a package called Unity Atoms to the project which has built-in implementations for the most common types.
... and check with people first before merging changes back in. Prototype in your own scenes, don't apply prefab overrides until they're ready to be merged into main. If you're working extensively on shared prefabs across multiple scenes, consider working with a Prefab Variant until you're ready to replace the original.
Merging your whole branch history will make it hard to revert out breaking commits. Make sure github desktop is set to squash merge, or use git merge --squash
when merging your branch in. You can also use an interactive rebase (git fetch && rebase -i origin/main
) to ensure your side branch is up to date and will merge cleanly.
If it says using UnityEditor
at the top, it should be in an Editor folder. If you absolutely need to do an Editor thing in Runtime code, consider whether you can add a static utility function inside an Editor script instead.
DO Check for permissively licensed Open Source or free Asset Store projects before starting a new system
Always double-check that you aren't about to write a bunch of code that already exists in a useable format. But, be wary of free Script assets... most of the time they're more of a pain to integrate than they're worth.
The point of the Game Jam is to Learn New Things! Check the Resources channel for previously shared resources or ask for help/feedback in the support channel!