Creating a Cardboard Box

I have just modeled and textured a small cardboard box!

The boxes in Unity 3d

The modeling process was simple; I just took a cube, scaled and beveled it. Then after UV unwrapping, I painted the textures inside of Blender. Though I prefer texture painting with software such as Mudbox or Substance Painter, Blender was sufficient in this case.

Texture painting in Blender

After painting in the main cardboard texture, I used the Stencil brush to paint the tape, labels, and some dirt/stains. Then saved the texture and exported into Unity.

The next step would be to make a normal and/or spec map so the tape does not look quite so flat.

Dark Alley Work in Progress

There’s still quite a bit to do on the ol’ dark alley scene, but here’s a screenshot of what it looks like in Unity now.

Current progress on dark alley

I have completed the fire escape and the orange five gallon bucket. Most of these nice textures I have used so far are from, which I’ve edited in Gimp. Two of the buildings in the screenshot above are just images from CG Textures, applied to a quad with a generated normal map. Can you guess which ones?

For the buildings nearest to the camera, I originally modeled an entire building for each of them. But since this is an alley scene, I discarded the other three sides of the building, for better optimization and general simplification.

The bucket, unlike the fire escape, was fairly quick and easy to model. It’s just a cylinder with some cuts and some faces extruded. Then I marked a couple edges as seams for the UV map, unwrapped it, and then created the texture. After creating the basic color texture, I baked an AO (ambient occlusion) texture and added that as a layer on top of the color texture, with a multiply blend mode.

Bucket model

Unity 5 vs Unreal Engine 4

With over four and a half million registered users, Unity is the most popular game engine there is. 47% of game developers use Unity, while only 13% use Unreal Engine. But let’s examine them both….


This can be a big factor in deciding which game engine to use.

Unity’s “Personal Edition” of Unity 3D is a free, full featured engine. The professional edition, Unity Pro is $1500 per major release or $75/month. If you have Unity Pro, you get features such as a customizable splash screen, beta access, unlimited revenue and funding, Unity Analytics Pro, source code access, and much more. If your game makes above a hundred grand in annual gross revenue, you must purchase Unity Pro.

Unreal Engine 4 was previously $19 a month, but as of March 2015 Unreal has been and will be free, and you get the C++ source code. Once your game ships, you pay Epic Games 5% of your quarterly gross revenue per product after your make your first three grand.


Both engines have a very active communities, with discussion forums and answers hubs, as well as great documentation, tutorials, and wikis.

Unreal’s documentation is stellar, very well written with great explanations and screenshots.  While Unity’s docs are also great, they have some room to improve.

Unity has an amazing number of video tutorials on They have hundreds of professional tuts uploaded so far, for beginners and advanced users, covering every aspect of the game creation process. Both engines occasionally host live seminar style training sessions (Unity more often than Unreal).


Unreal Engine: Windows PC, Mac OS X, iOS, Android, VR, Linux, SteamOS, HTML5, Xbox One, and PS4.

Unity 3D: Windows PC, Mac OS X, Linux, Web Player, WebGL, VR(including Hololens), SteamOS, iOS, Android, Windows Phone 8, Tizen, Android TV and Samsung SMART TV, as well as Xbox One & 360, PS4, Playstation Vita, and Wii U. It seems Unity is the winner in this area.


With the release of Unity 5 came many new features that enabled developers to make beautiful, next-gen AAA games. But it seems Unreal is one step ahead in nearly every area of graphics: terrain, particles, post processing effects, shadows & lighting, and shaders all look amazing in Unreal Engine 4.

Ease of Use

Unity has always been known for their easy to use interface where beginners can jump right in and start making games. Though Unreal Engine 4 was a major improvement, they still take second place behind Unity in the area of user experience.

Both interfaces are very similar, with toolbars and settings within resizable & movable windows. Unreal’s UI is still quite bloated and complex. Everything takes longer and is more complicated than it should be. Assets take a long time to import and save, and simple tasks require extra, unnecessary steps. Unity 3D is fast, and the interface is quick and responsive. It’s so light that it can run on Windows XP (SP2), while UE4 requires at least Windows 7 64-bit. Though the final product can look nicer in Unreal than in Unity, getting there takes longer and much more effort, especially for beginners.


Unity games are programmed with JavaScript, C#, or Boo. Most developers use either JS or C#. It’s not required to only use one. You can use one or the other, or all three. Unreal engine ships with the Blueprints Visual Scripting system, which can be used to make an entire game, or used in combination with the somewhat faster C++ scripting. Unity 3D does not have a visual scripting system built-in (yet), however there are excellent solutions that can be purchased on the Unity Asset Store, most notably Playmaker and uScript Professional.


Unity Tech offers many amazing services such as Unity Ads, Everyplay (for recording & sharing mobile gameplay), Unity Multiplayer, Analytics, Cloud Build, Performance Reporting, Premium Support, and more.

Epic Games does not have so many services, but they have created a five million dollar development fund to “provide financial grants to innovative projects built in and around Unreal Engine 4”.


Both Unreal and Unity have great places where you can buy and sell game assets.

The Unity Asset Store has over fifteen thousand assets and 1.5 million users. Most of the assets are very affordable.

The Unreal Marketplace is much newer than Unity’s asset store, and therefore much smaller. The assets are also generally more expensive. However, they all seem to be very high quality.

If you are selling assets, note that both stores split the profit 70/30.


Both engines are fantastic game creation tools, and similar in so many ways. But perhaps their best quality is that they are free! So you can download them both, try them out, and let me know what you think in the comments below!

Beware! Unreal Engine is not good at 2D games! If you are making a 2D game, use Unity!

All images credit and

Texturing the Building

Now that modeling is (mostly) finished, I’m working on texturing my 3d building. Still a little ways to go. I think in the windows and the near the top of the building especially need some work. I haven’t started modeling the small things such as pipes and AC units yet, and it looks like the bottom areas of the building and stairs could use some more polys, since that is mostly what the player will be seeing.

Textured work in progress model in Unity 3D

Modeling a Building

So I’m currently working on creating  an apartment building. I’m about done modeling the main building structure, so all I have left to model is things like gutters, pipes, and the fire escape.

I have two versions of the model: One that has a bunch of subdivs and has 2,646 faces, and one that has been planar decimated and is full of n-gons. The latter is only 563 faces, but as Unity automagically triangulates the model upon import that will probably increase to just over a thousand. Still much better than the first model. Now n-gons are generally not good (see Digital Tutors’ explanation), but game models are automatically triangulated by the engine, so n-gons are usually fine, as long as the engine does a good job with the triangulation. So I’m thinking I’ll use the n-gon model. Should be easier to UV unwrap.

Original model
Ngon model – nice and clean!

Hello world (again)

Hey everybody, it’s been a while since my last post. But I’m back again and I’ve got some great stuff coming up. 

Over the next month I’ll be working on a rainy alley game environment, and I’ll be sharing my progress with y’all. So I’ll be creating things like dumpsters, garbage bags, and detailed buildings. I’ll also be working on some other projects of mine that are currently confidential. 😉 Upon completion of the alleyway project I plan to create a game ready archviz kitchen. Anyway stick around and enjoy the new content. 

Also I’m working on this site too, you may see some fonts or theme change soon. 

Generate Project Folders Script

When creating a new project, use this simple script to generate all your folders:

// generate folders in our project
import System.IO;

@MenuItem ("Project Tools / MakeFolders #&_z")
// menuItem reads the first static function
static function MakeFolder()

static function GenerateFolders ()

var projectPath : String = Application.dataPath + "/"; // store the path for the folders

// creating the folders
Directory.CreateDirectory(projectPath + "Audio");
Directory.CreateDirectory(projectPath + "Materials");
Directory.CreateDirectory(projectPath + "Meshes");
Directory.CreateDirectory(projectPath + "Resources");
Directory.CreateDirectory(projectPath + "Scripts");
Directory.CreateDirectory(projectPath + "Shaders");
Directory.CreateDirectory(projectPath + "GUI");
Directory.CreateDirectory(projectPath + "Textures");
Directory.CreateDirectory(projectPath + "Scenes");
Debug.Log ("Folders Created");

AssetDatabase.Refresh ();


Making Custom Gizmos

In this post, I will show you how to make a custom gizmo using code.

First, you need an image with an alpha channel. Here’s an example:

gem gizmo gimp

Okay, make sure you import your image into Unity. You should make a folder in your Unity project called “Gizmos” and put your gizmos in that folder. Next create a script. It’s as simple as 1, 2, 3 lines of code.

function OnDrawGizmos () {
    Gizmos.DrawIcon (transform.position, "gemGizmo.png");

That’s in JavaScript. Let me give it to you in C# as well..

using UnityEngine;
using System.Collections;

public class example : MonoBehaviour {
    void OnDrawGizmos() {
        Gizmos.DrawIcon(transform.position, "gemGizmo.png");

Attach the script to your game object.

If you want to use a gizmo without code, keep reading.

As of Unity 3.5x, you can select your game object, look at the top left corner in the Inspector, and click the little icon with the arrow. Then click Other and choose your texture.

Unity 4 Features Summary

Unity 4 will be released sometime soon, and it’s sure to be fantastic. Here are some of the new features:

Much better optimization and performance

Retargetable animation
Easy and visual animation blending
Easy use of mocap
Use inverse kinematics rigs

Better project organization
Component based workflow
Live preview Asset Store assets within Unity Project window

Unity makes use of Microsoft’s DirectX 11

The ability to use volumetric textures for advanced shader effects.

Updates to the Shuriken particle system for more realism.

Dynamic, real time shadows for mobile

Deployment to the Linux OS supported.



Mecanim IK rigs
Some navigation mesh features
3D Textures
Lightmapping with normal maps

Exporting Meshes from UDK to Unity

You can’t export whole scenes and levels from UDK to Unity and expect it to be a playable game. Unity and UDK speak totally different languages. But you can export individual meshes(objects). Here’s how.

First, open the Unreal Development Kit (UDK).


Next, open the Content Browser if it’s not already open. (View > Browser Windows > Content Browser)


Good. Now, choose a object you want to export. I’m going to use those stairs for this example. Select the stairs, then drag and drop them into your scene. Once it’s in your scene, select it so it turns kind of purple. Then right click on it, and choose the option “Export (.FBX)”.

Continue reading “Exporting Meshes from UDK to Unity”

Making a Successful Indie Game

Can one person really make a whole game by themselves? I think so. How to do it, you wonder? Follow my ten tips below.

#1. Don’t try to do something you know you cant do. We would love to make the next Battlefield 3, but the reality is that an independent game developer will never achieve this. On the other hand, making the next Angry Birds or Temple Run is something an indie developer can do. Don’t be overconfident, but don’t get discouraged. Think big, just not too big. And don’t think art-centric. Think fun-centric.

#2. Use Unity 3d. Unless you really need super high-end graphics which then you would use UDK. But just trust me, you really want to use Unity.

#3. Look at other indie games, like Minecraft. What are they up to? What about them inspires you?

#4. Subscribe to Create3DGames. This might be overly obvious, but just in case you forgot. (Click on the RSS button to subscribe). Do it now. Right now. Okay, next tip…

#5. Be creative. Be the most creative person you know. Creativity = $UCCE$$. Always. Well, usually. Sometimes. Just be original. Don’t be a copycat.

#6. Get your friends to test your game. You need feedback. Lots of it. Release an alpha version online, and a beta version, too.

#7. Develop your idea before you start work on developing the game. Get the game design done before the game development. You need to have a solid story for the game. Do a few sketches of what you want different scenes or levels in the game to look like.

#8. Go for mobile. Smartphone (and tablet) games are becoming very popular, and it also gives you an excuse for not making triple A graphics in your game.

#9. Don’t be afraid to use other people’s stuff in your game. You might have to give them credit or whatever, but for certain things like game music and sound effects, you will probably want to buy those from someone else, unless you can do that stuff yourself. Which most people can’t. Probably because they don’t have a whole orchestra and sound boards and what not.

#10. Don’t give up. Sure, you might fail the first time. But that just means you will do even better next time. Also, whatever assets you make for the game, sell them online. Like if you have a 3d model you made for the game, then sell it on Turbosquid or the Unity Asset Store or something.

Good luck and happy game developing!

Exporting from Google Sketchup Free to Unity Free

Lots of people want to know: how do I get my models from Google Sketchup into Unity 3D? The answer is very simple. And here it is.

First, you need a model. I found this cool model on the Google Sketchup 3D Warehouse. Ideally, you’d make your own, but you don’t have to. Also, make sure the model is in the center of your world. Meaning, zero on the x, y, and z coordinates.

Next, export it (File > Export > 3D Model). Note that this is in Sketchup FREE, not PRO. Save it in your assets folder in your Unity project.

Continue reading “Exporting from Google Sketchup Free to Unity Free”

Shaders, Materials, and Textures

What is the difference between a material, a shader, and a texture? And why do they exist?

First of all, be aware that in some programs, there is no difference. For example, in Maya, a shader and a material are the same thing. Phong shader, Phong material, same exact thing. Such is true for other programs. However, a texture is completely different from either of these.

A texture is a 2D image pasted onto a material, basically. The material typically contains all the properties of how the model looks, such as the shader, color, opacity, glowyness (is that a word?) and so forth. The shader, generally speaking, makes the model look different. It can make the model pretend like it’s more detailed than it really is, or make it look like it’s on fire, or make it look like water is dripping down it the sides of it, or turn the model into glass, or a mirror, or whatever. There’s  many cool things you can do with shaders. They are typically used to make objects more shiny, though.

Shader Types
Image courtesy of

Continue reading “Shaders, Materials, and Textures”