Easy-to-follow video tutorials help you learn software, creative, and business skills.Become a member

Using correct script syntax

From: Unity 4.3 Essential Training

Video: Using correct script syntax

Using the right syntax in your scripting is highly important. Unity has opened up that trigger script in MonoDevelop, and we If you'd like more help with C-sharp, I'd

Using correct script syntax

Using the right syntax in your scripting is highly important. Your script simply won't work, and your game won't compile if there's error in the code. And so you need to get this right so that well, you can build the game. One of the things to do to avoid some confusion is stick with one kind of scripting wherever possible. For example, if you start in C sharp, stay with C sharp. If you're running JavaScript, run JavaScript all the way through. Consistency will help, because that way the term, syntax and naming is the same in every script.

Although, you can mix and we often do see a mix. For example, on the first person controller. I'd highly recommend that you stay in one language. We can see that out first person controller has a C sharp and three Java's on it. I'll open up one of the scripts that comes with Unity, deactivate trigger and look a little bit at the syntax. And see why this is such a big deal. In the assets, I'll go under Standard Assets and then into Scripts. In scripts in general scripts, there's my activate trigger and drag rigid body.

I'll double-click on Activate Trigger to open it up. Unity has opened up that trigger script in MonoDevelop, and we can see it's a C sharp script by the extension .cs. What is says then, for example, right up at the top is using UnityEngine semi-colon. That's a perfect example of scripting syntax and how we need to keep this straight. It's declaring right off the bat that we are using the Unity engine and the line is ending with a semi-colon. In the next section down, there's a public class activate trigger which is a Mono behavior.

And within that those curly braces, a public enum and there's a mode available. What this basically lets us do is say, what kind of trigger would you like? An enum refers to a drop down list. We can see in here as well that the code is colored and hinted. And when we're writing code in MonoDevelop, we'll get hinting and auto completion of our different words to help us with the syntax. We need to make sure then that we are encasing in curly braces at the start and end, things that should be encapsulated. That we're ending our lines with semicolons.

That we're commenting out our lines, as well. The double slash for commenting a section, and the triple for commenting an entire line or paragraph. As we look further down, we can see that this is affecting public game objects, and allowing us to choose different ones. It’s also got cases in here, within the void do-activate trigger inside the curly braces, if different things are happening. For example, if the trigger count is zero and it's a repeat trigger, what happens if the object hits something? What happens to the behavior? Who's the game object target? If we're switching around, switching cases, what happens? Are we replacing and so on? What they've done here, for example, is to say, when we're activating the trigger, all of this goes on.

And sometimes there's even some other pieces. For example, in replace, if the source is no, do that. And we can see that the lines are tabbed in so that we get all of the different situations encapsulated in their braces. And lines are ended with a semicolon. Finally at the bottom, we can see that there's the end braces, ending all the different levels of encapsulation. Its important to make sure that the lines are ended with semicolons, and that were using the right kind of language.

For example, at the bottom it says casemode.deactivate. We'll see a lot of this, a dot syntax which is very common in all kinds of scripting languages. Really just saying, for the case mode Deactivate, do something. At the end of it, we've got a semicolon. And then finally, it's enclosed in the rest of those curly braces. At the bottom then, we're going to see now that we've declared all the stuff we're going to do, enter the trigger and do something. So all of what's up here inside those curly braces is what happens when we do activate the trigger.

I can't stress this one enough. You need to be as organized in your code as you are in your assets. So make sure that you're sticking with one language, and take the time to get to know the ins and outs of it. Make sure you've got consistent naming conventions and that you're commenting out your scripts as much as possible. It's very reasonable again that you'll work on this script, implement it and not touch it for six months. And then come back to it and say, what was I doing? And so if you got any kind of hints in there, that will be immensely helpful.

Its also very likely, especially if you are in a small team, lets say on a mobile game that you and three other people will be working together and sharing scripts freely. And you need to be able to hand off a script to somebody and have them be able to read it without saying, what was he thinking? But we may end up doing then is attaching scripts to blank game objects or other game objects with meshes associated. Doing things like the simple ones, activating doors. Or looking for things for score. We may even turn off and on gravity in a rigid body, so things don't fall until we contact them, and then they run away.

We can do all sorts of things here in the script, including making new custom materials, putting in new colors and new kinds of properties, such as rim shade or rim power to be able to get edge-lit surfaces. I want to encourage you to go as far as you can with your scripting. For this course, we're purposefully staying light on the scripting. Putting in the interactivity we can without getting too deep in the code. There's so much we can do with it that it's really a course on its own. So make sure you check back on lynda.com for courses on Unity scripting.

In the meantime, if you'd like more resources, I'd highly recommend the JavaScript essential training with Simon Alladice. It's a terrific way to get going in JavaScript, and understand the syntax that then you can implement in MonoDevelop. If you're using C-sharp, I'd recommend the C-sharp essential training with Joe Marini. Again, it's a great way to get to know this powerful programming language. And you'll see where it's so useful in and out of Unity. If you'd like more help with C-sharp, I'd also recommend looking at the Microsoft Developer Network.

Microsoft has a tremendous amount of resources available for C-sharp, and will take you through all kinds of different cases. Everything from arrays and vectors to libraries and compiling. It's a terrific way to get deep in programming, and will be a very valuable addition to your game. So make sure you get in and watch the additional courses on scripting. And then look for ways to really enhance the game play using Unity and MonoDevelop.

Show transcript

This video is part of

Image for Unity 4.3 Essential Training
Unity 4.3 Essential Training

78 video lessons · 9425 viewers

Adam Crespi
Author

 
Expand all | Collapse all
  1. 2m 57s
    1. Welcome
      41s
    2. What you should know before watching this course
      52s
    3. Using the exercise files
      1m 24s
  2. 21m 21s
    1. Designing the game
      4m 39s
    2. Setting the project
      4m 9s
    3. Exploring the Hierarchy, Scene, and Inspector windows
      5m 45s
    4. Creating and transforming objects
      6m 48s
  3. 21m 34s
    1. Organizing the Assets window
      2m 55s
    2. Exporting objects from 3D modeling programs
      8m 33s
    3. Importing and configuring models and textures
      4m 54s
    4. Setting properties for models and textures in the Inspector
      5m 12s
  4. 29m 8s
    1. Introducing the game environment
      4m 27s
    2. Placing the player controller
      4m 29s
    3. Publishing project settings
      5m 32s
    4. Adding sky and fog
      8m 17s
    5. Fine-tuning the First Person Controller
      6m 23s
  5. 57m 25s
    1. Creating the terrain geometry
      3m 29s
    2. Forming the topography
      9m 54s
    3. Painting the terrain textures
      7m 9s
    4. Painting trees and forests
      10m 55s
    5. Painting grass, shrubs, and 3D geometry
      9m 38s
    6. Painting detail meshes
      8m 46s
    7. Adjusting terrain settings
      7m 34s
  6. 39m 45s
    1. Creating materials and assigning shaders
      8m 56s
    2. Handling multiple materials
      7m 13s
    3. Adding textures to a material
      3m 57s
    4. Manipulating textures
      5m 20s
    5. Adding reflections to materials
      8m 1s
    6. Creating lit materials
      6m 18s
  7. 47m 12s
    1. Creating GameObjects
      5m 2s
    2. Understanding components
      6m 15s
    3. Using colliders for barriers
      6m 22s
    4. Using colliders for triggers
      8m 1s
    5. Exploring physics
      8m 22s
    6. Working with Physic materials
      5m 3s
    7. Adding joints to rigid bodies
      8m 7s
  8. 20m 33s
    1. Setting up prefabs for animation and batching
      5m 8s
    2. Animating an object
      6m 32s
    3. Adjusting timing in an animation
      3m 50s
    4. Animating transparency and lights
      5m 3s
  9. 11m 58s
    1. Importing skinned meshes
      4m 51s
    2. Separating animations into clips and states
      3m 14s
    3. Creating transitions between states
      3m 53s
  10. 30m 22s
    1. Customizing ambient light
      2m 59s
    2. Creating the sun using a directional light
      5m 49s
    3. Using layers and tags for lighting
      3m 32s
    4. Adding spot and point lights
      4m 25s
    5. Using point lights for fill
      4m 30s
    6. Adding and fine-tuning shadows
      5m 10s
    7. Creating lighting effects with cookies
      3m 57s
  11. 9m 15s
    1. Adding scripts to GameObjects
      2m 42s
    2. Using correct script syntax
      6m 33s
  12. 23m 7s
    1. Setting up a 2D project
      3m 13s
    2. Importing sprites
      2m 30s
    3. Slicing in the Sprite Editor
      3m 6s
    4. Layering sprites and setting the sorting order
      5m 12s
    5. Creating 2D colliders
      3m 12s
    6. Adding 2D physics
      2m 25s
    7. Animating 2D elements
      3m 29s
  13. 30m 25s
    1. Creating light shafts and sunbeams
      5m 20s
    2. Using ambient occlusion to add gravity
      4m 37s
    3. Adding depth of field
      8m 40s
    4. Applying motion blur
      5m 46s
    5. Tuning color for mood
      6m 2s
  14. 38m 16s
    1. Exploring water effects
      7m 36s
    2. Working with wind zones
      2m 8s
    3. Using an audio source
      4m 3s
    4. Creating a sound zone
      5m 59s
    5. Triggering audio
      3m 37s
    6. Adding audio effects
      3m 13s
    7. Creating particle systems
      2m 26s
    8. Adjusting particle systems
      9m 14s
  15. 25m 23s
    1. Setting up occlusion culling
      5m 52s
    2. Enabling batching to reduce draw calls
      3m 28s
    3. Testing in the game window using statistics
      4m 27s
    4. Building a development build and debugging
      6m 0s
    5. Building the executable
      5m 36s
  16. 49s
    1. Next steps
      49s

Start learning today

Get unlimited access to all courses for just $25/month.

Become a member
Sometimes @lynda teaches me how to use a program and sometimes Lynda.com changes my life forever. @JosefShutter
@lynda lynda.com is an absolute life saver when it comes to learning todays software. Definitely recommend it! #higherlearning @Michael_Caraway
@lynda The best thing online! Your database of courses is great! To the mark and very helpful. Thanks! @ru22more
Got to create something yesterday I never thought I could do. #thanks @lynda @Ngventurella
I really do love @lynda as a learning platform. Never stop learning and developing, it’s probably our greatest gift as a species! @soundslikedavid
@lynda just subscribed to lynda.com all I can say its brilliant join now trust me @ButchSamurai
@lynda is an awesome resource. The membership is priceless if you take advantage of it. @diabetic_techie
One of the best decision I made this year. Buy a 1yr subscription to @lynda @cybercaptive
guys lynda.com (@lynda) is the best. So far I’ve learned Java, principles of OO programming, and now learning about MS project @lucasmitchell
Signed back up to @lynda dot com. I’ve missed it!! Proper geeking out right now! #timetolearn #geek @JayGodbold
Share a link to this course

What are exercise files?

Exercise files are the same files the author uses in the course. Save time by downloading the author's files instead of setting up your own files, and learn by following along with the instructor.

Can I take this course without the exercise files?

Yes! If you decide you would like the exercise files later, you can upgrade to a premium account any time.

Become a member Download sample files See plans and pricing

Please wait... please wait ...
Upgrade to get access to exercise files.

Exercise files video

How to use exercise files.

Learn by watching, listening, and doing, Exercise files are the same files the author uses in the course, so you can download them and follow along Premium memberships include access to all exercise files in the library.


Exercise files

Exercise files video

How to use exercise files.

For additional information on downloading and using exercise files, watch our instructional video or read the instructions in the FAQ.

This course includes free exercise files, so you can practice while you watch the course. To access all the exercise files in our library, become a Premium Member.

Join now "Already a member? Log in

Are you sure you want to mark all the videos in this course as unwatched?

This will not affect your course history, your reports, or your certificates of completion for this course.


Mark all as unwatched Cancel

Congratulations

You have completed Unity 4.3 Essential Training.

Return to your organization's learning portal to continue training, or close this page.


OK
Become a member to add this course to a playlist

Join today and get unlimited access to the entire library of video courses—and create as many playlists as you like.

Get started

Already a member?

Become a member to like this course.

Join today and get unlimited access to the entire library of video courses.

Get started

Already a member?

Exercise files

Learn by watching, listening, and doing! Exercise files are the same files the author uses in the course, so you can download them and follow along. Exercise files are available with all Premium memberships. Learn more

Get started

Already a Premium member?

Exercise files video

How to use exercise files.

Ask a question

Thanks for contacting us.
You’ll hear from our Customer Service team within 24 hours.

Please enter the text shown below:

The classic layout automatically defaults to the latest Flash Player.

To choose a different player, hold the cursor over your name at the top right of any lynda.com page and choose Site preferencesfrom the dropdown menu.

Continue to classic layout Stay on new layout
Exercise files

Access exercise files from a button right under the course name.

Mark videos as unwatched

Remove icons showing you already watched videos if you want to start over.

Control your viewing experience

Make the video wide, narrow, full-screen, or pop the player out of the page into its own window.

Interactive transcripts

Click on text in the transcript to jump to that spot in the video. As the video plays, the relevant spot in the transcript will be highlighted.

Are you sure you want to delete this note?

No

Your file was successfully uploaded.

Thanks for signing up.

We’ll send you a confirmation email shortly.


Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

Keep up with news, tips, and latest courses with emails from lynda.com.

Sign up and receive emails about lynda.com and our online training library:

Here’s our privacy policy with more details about how we handle your information.

   
submit Lightbox submit clicked
Terms and conditions of use

We've updated our terms and conditions (now called terms of service).Go
Review and accept our updated terms of service.