Being a coder isn’t just about coding.

We’re excited to announce our new Kickstarter: Complete Guide to Self-Promotion for Techies and Startups. We need your help to make a course that teaches coders soft skills. ‘Soft skills’ include teamwork, communication and management skills.

If you want to start your own coding business, there’s much more to it than the technical aspects of the job.

We want to teach coders how to stand out in the tech industry and successfully start their own business. Even if you don’t want to make your own company, this course will teach you skills that will make you invaluable wherever you work.

We’ve identified 6 key topics that can strengthen the core of your coding business:

  • The psychology of entrepreneurship
  • Fusing soft skills and software development
  • The code of human interaction
  • The art of persuasion
  • Expanding creativity
  • Mastering team dynamics

We don’t believe in hypotheticals.

Our course will provide you with practical examples of issues you’ll face in the coding industry. We based our curriculum on proven psychological methods and on our experiences in the coding industry.

If you take this course, you will become part of a community of students supported by us. You’ll go from talented coder to business champion. Visit our Kickstarter’s page to get involved.


Creating a C++ Script | Unreal Tutorial

Scripts are so important when it comes to making a game in Unreal. For an in-depth lesson on Unreal, consider enrolling in Mammoth Interactive’s Unreal course

If you want to add a player to your game, you need to write code to give the player its own behavior. Default modes contain logic from Unreal. To create a new mode with custom behavior, you need to write a script.

Go to C++ Classes > CoinCollector in the Content Browser. Right-click in the Content Browser. Select “New C++ Class”.

Select “Pawn” from the “Choose Parent Class” to extend a pawn. With the Pawn class, the mode to be able to receive input from the player. The player will be able to move the mode.

Press Next. Name the pawn “HeroController”. Our player to be a hero who collects coins. Press “Create Class”. Unreal will create the script. Note that it does take some time for Unreal to create or compile a script.

We will enable HeroController to move based on user input. When the code compiles, you can open Xcode to view the files of the script if you are on a Mac. If you do not own Xcode, you can download it from the App Store. Xcode is a free program that you can use to write code.

If you are using Windows, you can use Visual Studio to write your code. Visual Studio should already be on your computer.

The Files of a C++ Script

Two files will open with the script: HeroController.h and HeroController.cpp. These are two different files for a single class. .h files are header files. They are used to list variables and methods in a class.

.cpp files are implementation files. They are used to implement those methods and variables. HeroController.cpp contains the implementation of HeroController’s behavior.

We will begin coding in HeroController.h. Some default code is already in the file. class COINCOLLECTOR_API AHeroController : public creates the class. Then there are five public functions:

  • The ACoinController function is a constructor. ACoinController is called when the script loads (when the object is created).
  • BeginPlay is a function that is called when the game starts (after the constructor and internal processes complete). A function performs a method or operation. You can use functions to set the behavior of an object.
  • Tick is a function that is called every frame (every time the game is processed by your computer, smartphone, or console).
  • SetupPlayerInputComponent is a function that is called to configure the input. Whenever we want to make HeroController move left, right, top, or bottom, we need to register the input bindings in this function.

Note that typing // in front of a line turns the code into a comment, which is not read by the compiler. You can use comments to organize code.

To learn how to build 6 games in Unreal, enroll in our Unreal course.

Implementing a Button | Unity Tutorial

In virtual reality (VR) games, one of the few interactions a player can make is press a button by looking at it. In this tutorial, we will implement the button we made in our previous Unity tutorial.

If you are a beginner and want to learn how to build virtual reality games, check out our Unity3D course!

There are two ways to interact with the button. Both ways involve looking (the looking logic). We need to understand how to identify the button. To do this, we will perform raycasting.

To draw an image, Main Camera throws rays in multiple directions to find pixels to draw. We will use the ray that shoots forward in the direction the camera is facing. If the ray flying from the camera touches an object, we will identify the object.

Rename Main Camera “Player” because the player will look through the lens of the camera. We can treat the camera as the eyes of the player. Create a C# script in Assets. Name the script “Player”. Drag and drop the Player script to “Player” in the Hierarchy.

Double-click on the Player script to open it. Type the following code in the Update method in Player.cs. This code declares the local variable hit of type RaycastHit.

public class Player : MonoBehaviour {
// Use this for initialization
void Start () {


// Update is called once per frame
void Update () {
Raycast hit;

hit is a local variable because we declared it in one function. You can only call a local variable within its function. If you know you are only going to use a variable in one function, declare it as a local variable.

If you declare a variable in a class outside of a function, you can use the variable throughout the functions in the class. These variables are global.

If you hover over “RaycastHit”, you can read that if your raycast hits an object, the object will be stored in hit, along with other details.

Create the following if block, which calls the Raycast method from the Physics class.

// Update is called once per frame
void Update () {
Raycast hit;

if (Physics.Raycast()) {


We need to pass three parameters to perform the raycast:

1. We need to pass the origin of the raycast. We want the ray to come from the exact position of the camera. transform.position is the position of Player.

// Update is called once per frame
void Update () {
Raycast hit;

if (Physics.Raycast(transform.position)) {


2. We need to pass the direction of the ray. transform.forward refers to the direction of the blue arrow. transform.forward always points forward even when the camera rotates.

// Update is called once per frame
void Update () {
Raycast hit;

if (Physics.Raycast(transform.position, transform.forward)) {


3. We need to pass where we will save the hit information if there is a hit. We will store the information in the hit variable.

// Update is called once per frame
void Update () {
Raycast hit;

if (Physics.Raycast(transform.position, transform.forward, out hit)) {


The if block’s condition will return true when the raycast hits something. In this case, we will use the hit variable. The condition will return false when the raycast does not hit anything. hit will not store a value, so we will not use it.

If the condition returns true, use the following code to print the name of the object the raycast hit.

// Update is called once per frame
void Update () {
Raycast hit;

if (Physics.Raycast(transform.position, transform.forward)) {
Debug.Log (;

Save the script, and open Unity. Press Play. Press Alt/Option, and move the cursor until the crosshair is on top of Button. The console will print the message “Button” constantly because every time the Update method is called, it sees that we are looking at the button, and it prints the message.

Save your project. Want to learn more about buttons? Check out our Unity3D course, where you build 30 virtual reality games!

Designing a Button | Unity Tutorial

In virtual reality (VR) games, one of the few interactions a player can make is press a button by looking at it. In this tutorial, we will design a button in Unity. If you are a beginner and want to learn how to build virtual reality games, check out our Unity3D course!

VR has limited interactions with keys. Other devices like computers or Xbox, which have a lot of keys that players can press to interact with the game. Create a cube in the Hierarchy. We will have the cube work like a button. Give Cube the position 0 -1 -5. Change its X Scale value to 2.

Create a material in the Assets folder. Make sure that you do not create the material in the Google SDK folders. Name the material “ButtonMaterial”. Drag ButtonMaterial to Cube in the Scene. Change the color of ButtonMaterial to green with RGB values such as 0 184 100.

We will have the button be somewhat see-through. From the Rendering Mode menu in the Inspector, select “Transparent”.

In the Color window, set the alpha of ButtonMaterial to 147.

We will have the button contain some text. Right-click on “Cube” in the Hierarchy. Select 3D Object > 3D Text. “New Text” will appear in the Hierarchy. The text “Hello World” will appear in the Scene.

Set the X Scale value of New Text to 0.5. In the Text Mesh component, set Anchor to “Middle center” and Alignment to “Center”.

Set the text to sit just in front of the cube by changing its Z position to -0.7. Change Font Size to 15. In the Text property of Text Mesh, change “Hello World” to “Btn” (a shortened form of “Button”).

The text “Btn” will be of poor quality in the Scene. To correct this, scale down New Text in the Transform component. Then increase its font size in the Text Mesh component.

As such, the button’s text will be of better quality. Rename New Text “Label”. Rename Cube “Button”. Want to learn more? Check out our Unity3D course, where you build 30 virtual reality games!

Activating VR Split Mode | Unity Tutorial

If you want to make your game work in VR, you need to activate the VR Split Mode. If you are a beginner and want to learn how to build virtual reality games, check out our Unity3D course!

Once you’ve integrated a VR software development kit (SDK), press Play to simulate the game. Notice that you will still not see the screen split to show the views of two cameras.

With Google VR SDK, we need to make a small adjustment to the game to view the scene in split mode. Stop playing the scene. In Assets, open the GoogleVR folder. Then open the Prefabs folder. We will use the GvrViewerMain.prefab file. This file has been saved for later reuse, so we do not have to build an entire game object that will change the scene.

Drag and drop GvrViewerMain.prefab to the Hierarchy. In the Inspector, you will see that the GvrViewerMain game object contains a Gvr Viewer (Script) component. This script does the VR logic.

Press Play. The Game window will show the scene from two cameras.

In the Hierarchy, click on “Main Camera”. You will see that this object contains Main Camera Left and Main Camera Right.

Click on “Main Camera Left”. In the Inspector, you can see that this camera’s X position is -0.032. Main Camera Right’s X position is 0.032. The distance between the cameras represents 6.5 centimeters, which refers to the distance between the human eyes.

A VR game contains two cameras to represent two human eyes. The left camera shows the scene from the player’s left eye. The right camera shows the scene from their right eye. With the help of a VR device, dividing the view into two cameras makes feel as though they are in a virtual world.

Create a cube in the Hierarchy. Move the cube closer to the camera. If you cross your eyes, you may be able to see the illusion that occurs because of the split view: the cube appears to be popping from the screen.

Press and hold the Alt/Option key. As you move the cursor, you will be able to look around the scene. If you hold Control, when you move the cursor, the scene will tilt. This could be used to change the weapon a player is holding when the player tilts their head.

Want to learn more? Check out our Unity3D course, where you build 30 virtual reality games!