Sign in

Christopher West

Setting up Continuous Integration with Unity and GitHub Actions — Part 3

Last time, we looked at getting our first workflow into GitHub and using it to obtain a Unity license file, which we stored in our GitHub secrets. Today we’re going to go over the details for implementing our Build workflow.

Setting up the build Workflow

There are a few steps to the process of setting up our build workflow.

  1. Add the name, on, and jobs workflow steps
  2. Define the platforms and the Unity version we are going to run our operations against.
  3. Add the checkout, cache, builder, and upload steps to our job
  4. Check in the file…

Setting up Continuous Integration with GitHub Actions — Part 2

Last time, we looked at What Continuous Integration and Continuous Delivery are, some factors involved with making a choice on tooling for our project, and a brief introduction to GitHub Actions which is the tool chain we decided to utilize. Today we’re going to go over the details for the process of setting up the CI portion of our CI/CD pipeline in GitHub.

Setting up workflows

Yesterday we defined Workflows by stating “Workflows contain Jobs that contain Steps that are the list of actions to be run on virtualized environments to provide us with our functionality.”


Introduction to Setting up Continuous Integration with GitHub Actions

What is CI/CD?

Continuous Integration and Continuous Delivery, or CI/CD, is the term given to the process of automatically building a project and deploying it out to delivery channels like itch.io, the android store, or the iOS store every time code is successfully merged into a specific branch or branches in source control, or based on certain conditions like firing off a publish from GitHub (or the equivalent in other source control providers). This process is typically implemented in Team based software engineering efforts and can help in verifying that code being merged from several developers into a single source is stable and…


The Escape Button is a Feature

Welcome back! Today we’re going to talk about a simple but important feature. Being able to close out of our game using the Escape key. By default, our game doesn’t know that pressing the escape key should exit our game and if we are running in Full Screen mode this can lead to an issue. To accomplish our goal we want to use a method that Unity provides for us that allows us to exit the running game.

Application.Quit()

Application.Quit is ignored by the Unity Editor, so we will need to make a build and run it to test this feature.


How to Host Unity Games on the Web

In our last article we covered building and testing our unity project. We did this primarily through our standalone builds for Windows, Mac OS, or Linux, but we touched upon a few settings that needed to be changed for WebGL Builds. Namely, the compression format. It is important to have the compression format set ti disabled from the projects settings window in Unity or your build won’t play properly on sites like itch.io where we can share our games with the world!

The first thing we need to do to make a WebGL build for our game to be hosted…


How to Build and Test your Unity Game

Today we’re going to look at manually building and deploying our game in Unity. Yes, I said manually. I prefer to set up a Continuous Integration and Deployment pipeline that produces built project files for each platform I need to release my game on but the steps involved are far heavier than I need today and I will most likely cover them in a future article. Today we’re going to just do a basic manual build.

Our first step is to open our Build Settings window in Unity by selecting

File → Build Settings

from the menu at the top…


How to Play Sound Effects in Unity

Last time we looked at how to add background music to our game to increase our player’s immersion. Now let's add sound effects! We’re going to add a laser sound when ever the player fires a laser.

Adding a Laser Sound

For this project we’ve been provided with a laser sound, so we’ll use that. If we had not been provided with the sound we could have gone to the Unity Asset store or another source like freesound.org.

We’re going to have the Player object be responsible for playing the laser sound when the user presses the fire key. To start we are going…


Adding Background Music in Unity

Now that we’ve added post processing to make our game look like a AAA title we need to round it out with sound! If we really want to immerse our players into our game sound plays a huge part in it! From the subtle background sounds of birds and foot steps in a jungle based first-person shooter to the sound of that particularly nasty lock puzzle hitting the ground after you’ve solved it in your favorite escape room VR game, sound can be just as important for a players immersion as the visuals they are presented. …


Excluding Objects from Post Processing

In our previous article we took a look at adding post processing to our scene to add effects like Bloom and Color Correction. I have found, while working on a project that sometimes you have objects that you don’t want to apply post processing to. Let’s take a look at how I have excluded some objects from post processing.

While play-testing, I found that the bloom effect was causing my shield visualizer to burn hotter than the sun! This was not my intended effect and I quite liked the effect of the shield visualizer without the bloom effect.

Shields before and after post processing

This led…


How to use Post Processing in Unity

Post processing in Unity is the processes used to add effects and adjustments to the rendered output of your game before the final image is displayed. I like to think of this process as being like adding filters to an image in photoshop to get different effects like adding grain to the image or adjusting the colors. Today we’ll take a brief look at what it takes to set up and apply post processing to our game.

First things first! We need to install the post processing package from the Unity package Manager. …

Christopher West

Unity Game Developer, Software Engineer, Gamer, Musician, and Father. Christopher is a creative that enjoys a challenge and loves coding.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store