Coder Social home page Coder Social logo

git-101-for-unity-gdg23's Introduction

Git 101 for Unity (GameDevGuild 2023)

The repo and projects from this talk at GameDevGuild Conference 2023.

Git Setup

Install Git v2.34+

https://git-scm.com/

Create SSH Key

ssh-keygen -t ed25519 -C "[email protected]"

Configure Git

git config --global user.name "First Last"
git config --global user.email "[email protected]"
git config --global gpg.format ssh
git config --global user.signingkey ~/.ssh/id_ed25519.pub
git config --global commit.gpgsign true

Add SSH Key to GitHub

cat ~/.ssh/id_ed25519.pub | clip

Navigate to https://github.com/settings/keys

  1. Add for Authentication
  2. Add for Signing

Cache Authentication Credentials

To avoid having to type your key repeatedly, add this to your ~/.profile or ~/.bashrc:

env=~/.ssh/agent.env

agent_load_env () { test -f "$env" && . "$env" >| /dev/null ; }

agent_start () {
    (umask 077; ssh-agent >| "$env")
    . "$env" >| /dev/null ; }

agent_load_env

# agent_run_state: 0=agent running w/ key; 1=agent w/o key; 2=agent not running
agent_run_state=$(ssh-add -l >| /dev/null 2>&1; echo $?)

if [ ! "$SSH_AUTH_SOCK" ] || [ $agent_run_state = 2 ]; then
    agent_start
    ssh-add
elif [ "$SSH_AUTH_SOCK" ] && [ $agent_run_state = 1 ]; then
    ssh-add
fi

unset env

GameCI

Environment Variables

The following variables are required to configure build automation with GameCI:

UNITY_LICENSE
UNITY_EMAIL
UNITY_PASSWORD

In order to obtain UNITY_LICENSE please follow the directions at https://game.ci/docs/github/activation.

Notes

In GitHub project settings, grant your runner Read/Write permissions.

Add these lines to the .gitignore:

# GameCI
/[Aa]rtifacts/
/[Cc]odeCoverage/

In Unity, disable compression under Player Settings -> WebGL -> Publishing Settings. This substantially improves build times (40mins -> 5mins).

In Unity, enable Run In Background under Player Settings -> WebGL -> Resolution and Presentation. To verify this change was successful you can check ProjectSettings.asset for the line runInBackground: 1.

git-101-for-unity-gdg23's People

Contributors

gphorvath avatar

Stargazers

 avatar  avatar

Watchers

 avatar

git-101-for-unity-gdg23's Issues

Scoring System

Story

As a player,
I want to keep track of my score,
So that I know how well I am performing.

Criteria

  • Create UI elements for displaying scores
  • Implement scoring logic (e.g., when a player scores)
  • Update the score display when a point is scored

Game Over Condition and Restart

Story

As a player,
I want to know when the game is over,
So that I can start a new game or quit.

Criteria

  • Implement game over condition (e.g., reaching a certain score)
  • Display game over message
  • Allow the player to restart the game or quit

Ball Mechanics

Story

As a player,
I want a ball to bounce between the paddles,
So that I can play the game and score points.

Criteria

  • Create ball GameObject
  • Implement ball movement and bouncing
  • Add collision detection between ball and paddles
  • Reset ball position when a point is scored

Basic Game Setup

Story

As a game developer,
I want to set up the basic Unity project with necessary assets and configurations,
So that I can start developing the game.

Criteria

  • Create Unity project
  • Set up the main scene
  • Import necessary assets (e.g., sprites, sounds)

Paddle Mechanics

Story

As a player,
I want to control the paddles on both sides of the screen,
So that I can interact with the game.

Criteria

  • Create paddle GameObjects
  • Add player controls for left paddle
  • Add player controls for right paddle
  • Implement paddle movement (e.g., up and down)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.