It’s certainly been a while since you’ve heard from me so I’ll just jump right into it.

Objective: Sync material emission with music in Unity


  • Return some kind of value that we can use to determine heights in the audio clip as it plays in the scene
  • Perform an action using that value. In this case, emit light from a material


  • Step 1: Use audioSource.GetSpectrumData(array, channel, FFTWindow) to get the audio clips spectrum data as it plays
  • Step 2: Calculate the average spectrum height
  • Step 3: If the average spectrum is above our threshold then execute an event.

Goal: Publish our game onto!

It’s actually much easier than you’d think! It does not take take very long to publish something at all!

Personally, for small projects like this I prefer to make an HTML5 build so that anyone who happens upon my games can play them quickly in the browser. Much like the early 2000s and the advent of browser supported Flash games.

This allows more people to easily access your game because downloading an application is generally a barrier that some people don’t want to commit to.

First things first, make sure you have an…

Goal: Quickly create a working healthbar without using a canvas

It’s been a while since I did a programming tip so here’s a quick and easy way to set up World Space health bars using Sprites instead of the canvas. Here’s how it looks:

Here’s a quick tip that a friend of mine told me when I first started working in Unity.

If you’re on a lower end machine like mine then you may notice some lag spikes while working in the editor. Specifically when you’re working in 3D. One of the reasons is most likely because Unity is attempting to auto generate the lighting while you are working on the scene.

For the purposes of this article I’ll be going over the creation of the beam itself. There are several ways to implement how it causes damage, but I want to keep this one short because VFX has a surprisingly amount of details in it.

I created the sprite for the Laser Beam in Photopea which and it looks like this. Feel free to take it if you like:

Goal: Create an afterimage in order to allow the player to follow high speed movement/accent the movement of an entity

Before we get started, I want to point a very important distinction for creating VFX for Games rather than Film. For games, the proper term is technically Realtime VFX rather than just simply calling them VFX. This is because the VFX for a game have to run in realtime and possibly be dynamic in order to match what’s happening in the game world.

If you’re anything like me than you probably want to keep your Assets folder as clean as can be. One of the most annoying things for me is to create an entirely new file for a small change on an object like, creating an entirely new material just for a different colour for example. One called Laser_Green and another called Laser_Blue. That just feels like a waste of space to me.

Luckily for us, Unity will create another instance of a material during runtime. That means that every GameObject will have it’s own copy of the material. …

I mainly come from a programming background so a lot of the time I prefer to visualize my effects through code instead of Unity’s built animation tools. Especially for simple things like the Danger Zone displayed here.

So now, how does it work? Just like always we must first breakdown what we want our code to do step by step. In this particular case it would look like this:

  1. The further away from the player the ring is, the dimmer it gets. Inversely, the closer the player is to the ring, the brighter it gets
  2. If the player enters the…

This might be a bit of a longer one so I’ll just get right into it.

First things first, we need to determine the logic of the laser so we can translate that into code. So let’s break down what we need it to do step by step.

  1. When player presses Fire, the Laser_Rico travels in the direction its own Transform.up
  2. The Laser_Rico collides with an enemy and searches to see if there are other enemies on screen
  3. If there are no other enemies on screen then Destroy itself
  4. else, rotate so that its Transform.up

What’s actually happening VS. What the player sees

You need a scrolling background in order to give the illusion of movement? Well, here’s a quick and simple solution. However, I want you to be aware that doing it this way has many flaws and the same thing can be done better using Shaders.

Let me explain the pros and cons first:
- Quick and easy
- Can be done without any prior knowledge of Shader Graph or Shader Code

- Values to make it work are hard coded and specific to the sprite used as a BG
- Not flexible or dynamic if you needed to switch the…

Justen Chong

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