In this guide I just want to quickly go over a simple way to switch between cameras in Unity. We can achieve this by setting different cameras on or off using SetActive().

We first start by deciding on the condition we use to change the camera. For now we’ll use Input buttons 1, 2 and 3 to switch between cameras. We go into Project Settings -> Input Manager and add three new items to the list, which we’ll label Switch1, Switch2, and Switch3. Each correspond to the button on the keyboard.

Then we write a C# script called CamSwitch. All…

There are two simple methods of writing scripts for the mouse to interact with the game object. A simple method is to write a script for each game object where on mouse down or up, execute some code. However, you can also have a raycast to spawn at where the mouse is and if it hits an game object that you want, execute some code.


This is one of the easiest script to write for a game object. All you need to do write the interaction code in the function OnMouseDown() and attach it to the game object.


Unity ray…

Unity have a lot of special event functions that gets called automatically by the engine. For example Start and Update function is added to every script by default.

In this post I want to talk about the difference between two similar functions that can easily be mixed up with each other, Start and Awake.

Start vs Awake

Start and Awake function work also identical, both are called near the beginning with Awake being called earlier. However there is one key difference between the two, on Start will not be called in the script component is disabled.

Usually Unity coders will use Awake to…

In unity there are two basic method of moving an object. Using translate on the object itself, or using a rigidbody.


Moving with translate is easy. All you need is to grab the transform (object) and apply a translate which includes a vector 2 for direction, then speed and time.

However, the issue with translate is that it’ll ignore every physic and collision detection for the object. Which means the character will ignore any other object in the scene. However this is really good for adding or showing any effects that doesn’t interact with the world.


There are three method…

This is just a simple guide for saving and loading data from PlayerPrefs in Unity.

PlayerPrefs system in Unity allows users to store and access player data between game sessions. It stores data in a plain text file which makes any data easy to access but also easy to hack. Therefore try not to store any important data in PlayerPrefs.

Before starting, note that PlayerPrefs allows users to store 3 different types of data:

  • SetFloat()
  • SetInt()
  • SetString()

First I create an empty game object in Unity and call it GameController, while giving it the tag GameController as well. Then I create a new C# script where I’m going to edit and read data from, called PrefsControl.

You can easily access these functions from any other script, just find the game object first, then find the script and access it from there.

There are many ways to pass data from one scene to another inside Unity.

  • Using Static Keywords
  • Using DontDestroyOnLoad function
  • Saving to local storage(file) and load inside another scene.
  • Using ScriptableObject

Today I want to showcase the easiest method of them all, using Static Keyword.

Public vs Private vs Static Variables

There are three types of variables in unity.

Public Variables are variables that can be accessed from other classes. Which allows other game scripts to grab variables from this script, and they are allowed to manipulate it however they want.

Private Variables are variables that can only be accessed from within the class itself. This…

This is my list that I believe is important when creating UI elements in Unity.

Organize using Empty gameObject.

Everything in the Unity UI can be organized inside an empty gameObject. UI elements that is similar should be grouped together under the same gameObject. Not only is this better for organization, it’s also useful when you want to turn certain elements on or off and making changes to them. Where instead of moving each UI element one by one, you can move the group and modify the group all at once.

Rect Transform Values

When moving and changing objects around, the position and width/height tend to end…

Recently I created an Unity 2D project, and recently came into issues with my project once I loaded the project to my laptop. My laptop isn’t anywhere as good as my desktop, therefore very often I would run into frame issues where instead of normal 60 frames per second, I would have around 20–30 frames per second. This has caused my project multiple issues such as objects moving slower than others, while certain other effects will appear normally. …

As a programmer we have seen the Big O notation many times, yet I noticed this is one concept that a lot of beginner programmers have a hard time understanding. It’s not the concept is hard to understand, it basically describe the performance or the complexity of an algorithm. Most people tend to overthink it and in their head they believe it’s an extremely complicated mathematic thing that you need to major in math to understand it.

What is the Big O Notation in an Algorithm?

The big O notation is basically a way to tell how long it takes for a certain code to run in respect to…

There is a feature that was being experimented on in ruby which is the “Right-ward Assignment Operator”.

By current day standard, we assign values to variable using a “left”-ward assignment operator. Where the variable is on the left, and the value is on the right.

variableName = variableValue

This new feature reverse that operator and allows us to switch the direction where the value on the left, and and variable name is on the right.

variableValue => variableName

For a lot of programmers this might seem backwards and make it harder to read code. Especially for JavaScript programmers who use…

Fanzhong Zeng

Just a student at flatiron

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