Skip to main content


An overview of how to use OnCollision and OnTrigger functions.
Which almost all games have. Ha..

What I'll Talk about..

OnCollisionEnter - OnCollisionEnter is called when this collider/rigidbody has begun touching another rigidbody/collider.

OnCollisionExit - OnCollisionExit is called when this collider/rigidbody has stopped touching another rigidbody/collider.

OnTriggerEnter - OnTriggerEnter is called when the Collider other enters the trigger.

OnTriggerExit - OnTriggerExit is called when the Collider other has stopped touching the trigger.

So when you use On Collision function, you can generate info about the collision. This info could be stuff like the contact point we collided, the thing we collided with, and with what velocity we collided with. Read more here.

The function I use the most is OnCollisionEnter. Its great for explosions and such. So how to call it is,

function OnCollisionEnter (){
        //your code here

If you want to check the tag of what the object, you do this

function OnCollisionEnter (hit:Collision){
        if(hit.collider.tag == "tag name"){
                //your code here

OnCollisionExit would be called by this.. 

function OnCollisionExit(){
        //How hard was that?

To make an object a trigger, you'd first click on a object that contains a collider. Look in the Inspector Pane and find the collider component. Under that would be a thing called Is Trigger. You check it. That easy.

When something is a trigger, it's going to move through objects.

OnTriggerEnter to me would be good for bullets, example:

function OnTriggerEnter(hit:Collider){
        if(hit.tag != "thin wall"){
                Destroy (gameObject);

This script would be attatched to the bullet. The bullet would be a trigger. The script goes and checks if what the bullet collided with was tagged as thin wall. If it is not a this wall, then the bullet would be destroyed. Though if it is a thin wall, the bullet would simply go through it. 

OnTriggerExit would just be called like this...

function OnTriggerExit(){
        ///your code here

On Trigger events are only sent if:
  1. Both objects have colliders attached.
  2. One object has a rigid body attached.


Popular posts from this blog

How To Import and Use Fonts

-Made by Chrome Fx Films

To use different fonts in your game, your going to have to acquire some fonts. You can go somewhere like 1001 free fonts and download ones you like and want to use.

When you download the file, you'll need to extract the file if its in  a .zip

The text file should have the extension .ttf. If you text files have a FFIL extension, simply rename the font file (yourname.ttf).
Drag the text file into unity to import. By default the Character variable should be labeled Dynamic.

The Dynamic setting means  that Unity won't pre-generate the texture, so if you look at your material containing your font, It probably will be blank. (read more here)
Now your over all objective should be getting your font to look like this (unless you prefer dynamic):
Where the characters of the font are not jumbled up and visible.
Now usually all you have to do to achieve this is change the Character variable from Dynamic to Unicode.
and that should work.
Now what some people over…

Fixing Sketch Up blank window (white box) problem

When downgrading my OS over Christmas, I was faced with many problems, one of which is getting my Google sketch-up working.

Almost everything was working perfectly, except one little thing, The 3D Warehouse.

It was just displaying a blank screen. At first I thought I had blocked permissions for giving it internet access.  Though my computer said it was allowing it to go over the network. I tried turning off my firewall and still nothing happened. I don't have any anti-virus software so I didn't worry about that.

Guess what fixed it this annoying problem?

Just check for updates, and updates for what ever you computers default browser is also.

Now everything's back in harmony

Handling Music and Sound Effects In Your Games

Initiative  While developing Treva's Adventure I had to figure out a way to handle multiple music tracks and sound effects in a clean manner or suffer horribly.  What was going to help me achieve a simple solution was taking all the different sounds and centralizing them in a single class in order to black box them.  Any other code trying to play a sound wouldn't even know the sound file's name.  All code trying to play a music track would reference a enum that defines all the track names.
Defining The Class Creating The Enum When I first started defining types in my enumeration,  I was naming the types to be exactly like the file name.  For a scary sound effect I had found a file named "ghost breath".  So around my code would be scattered lines like SoundManager.Play(SoundEffectType.GhostBreath);  This was fine until I found a sound that better fit the situation it was being used in,  and decided to use "ghost breath" for a different situation like a …