• Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
  • Asset Store
  • Get Unity

UNITY ACCOUNT

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account
  • Blog
  • Forums
  • Answers
  • Evangelists
  • User Groups
  • Beta Program
  • Advisory Panel

Navigation

  • Home
  • Products
  • Solutions
  • Made with Unity
  • Learning
  • Support & Services
  • Community
    • Blog
    • Forums
    • Answers
    • Evangelists
    • User Groups
    • Beta Program
    • Advisory Panel

Unity account

You need a Unity Account to shop in the Online and Asset Stores, participate in the Unity Community and manage your license portfolio. Login Create account

Language

  • Chinese
  • Spanish
  • Japanese
  • Korean
  • Portuguese
  • Ask a question
  • Spaces
    • Default
    • Help Room
    • META
    • Moderators
    • Topics
    • Questions
    • Users
    • Badges
  • Home /
avatar image
1
Question by Riptyde · Sep 08, 2011 at 12:55 AM ·

Which script language to learn?

I would like to start learning one of the scripting languages supported by unity. Is there one that would be better, for someone who has never programed before, than another?

Comment
Add comment
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

4 Replies

· Add your reply
  • Sort: 
avatar image
4

Answer by SilverTabby · Sep 08, 2011 at 03:38 AM

If you have very little programming experience, I would recommend JavaScript because it is easier to learn than C#, and there are more people who use it (read: who can help you) than there are people who use Boo

JavaScript: easy, fast to learn and type, less typing than the other languages. Trys to do things automaticly behind the scenes to make things easier. Everything is simple and straight forward. Pick up this if you want to get something working as quickly as possible. Generally preferred by new programmers and exceptionaly lazy programmers (like me :D).

 var pos = Vector3(1,2,3);

quick and easy.

C#: moderate-hard, takes a little bit (but not a lot) more time to learn, a great deal more typing involved. Does almost nothing automatically behind the scenes - you have to do that stuff by hand. There are some complex topics you have to worry about, but you get a bunch of bells and whistles that you would not be able to use otherwise. Pick up this if you want to control EVERYTHING precisely. Generally preferred by experienced programmers.

 Vector3 pos = new Vector3(1,2,3);

Slightly slower to type, but you know and control exactly what is going on in the computer.

Boo: Very similar to JS, but with one key advantage: It's even easier than JS; and one Key disadvantage: few people use it, so it will be hard to find someone who can help you.

 pos = Vector3(1,2,3)

Though once you start a project in one language, stick with it. I have had more problems with C# and JS not talking to each other than I have had with actually coding

Comment
Add comment · Show 1 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image CHPedersen · Sep 08, 2011 at 06:42 AM 0
Share

This is a good rundown of a few key differences between the two languages. I'd like to add that a notable advantage of C# over JavaScript is that the JavaScript you learn for Unity is totally specialized for it, and has absolutely nothing to do with JavaScript for websites. The more complex topics @SilverTabby mentioned that you have to learn with C# aren't specialized to Unity - they're general program$$anonymous$$g concepts such as classes, inheritance and type safety. Therefore, if you take the time to learn them, you will acquire general program$$anonymous$$g knowledge that extends outside Unity that you wouldn't have with JavaScript. Because C# is an established .Net language, that knowledge will be useful to know in a huge range of other tasks, and may land you a job that doesn't necessarily have to do with Unity later on.

avatar image
1

Answer by Meltdown · Sep 08, 2011 at 08:21 AM

Based on the fact that C# alone has Intellisense support in MONODevelop and Visual Studio, that is reason enough for me right there to choose C#.

The Intellisense will also make it easier for people learning what options/properties are available on certain objects.

Comment
Add comment · Show 3 · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image save · Sep 08, 2011 at 08:31 AM 0
Share

I sure miss that with Unity Script & NP++, Intellisense work there but not on object specific properties as it seems.

avatar image CHPedersen · Sep 08, 2011 at 08:34 AM 0
Share

What? JavaScript doesn't have intellisense support in monoDevelop at least?! That explains why UA is constantly peppered with "not a member of"-questions. >_< Intellisense is really an absolute $$anonymous$$UST-HAVE, coding without it is like feeling your way around a room in the dark.

avatar image save · Sep 08, 2011 at 08:38 AM 0
Share

It's more of a, "did-you-perhaps-mean-this-sense", not sure if it can be measured as intellisense. :-) Hmm.. maybe this is why I've spent 70% in the docs and 30% in Unity since I started.

avatar image
0

Answer by formidable · Sep 08, 2011 at 01:02 AM

I'm just starting out also but I'd recommend learning Javascript (or Unityscript) over C# and Boo. It's easier to use for a beginner and there's much more documentation. All 3 scripting languages run equally as fast. I've heard a few things about how one scripting language is better than another at certain things but I'm not experienced enough to tell you what those things are. If you want to transition to another scripting language later on, you just need to learn the different syntax, the libraries are all the same for each.

Comment
Add comment · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users
avatar image
0

Answer by Riptyde · Sep 08, 2011 at 05:27 PM

Thank you all for your input. I'm still uncertain which one I will learn. I was surprised to hear that the Java script for unity is different then that for web. I was about to go with JS since I have a few friends who are web developers and could help me out.

C# has some training on 3DBuzz which look good. Has anyone followed any of those videos and know if they are any good?

Boo has some interest but only because I model in Blender and it is all python so there would be some overlap.

I'll do some more digging tonight and hopefully pick one. If anyone has a good website to look at I would greatly appreciate it.

Thanks again for all of the input.

Riptyde.

Comment
Add comment · Share
10 |3000 characters needed characters left characters exceeded
▼
  • Viewable by all users
  • Viewable by moderators
  • Viewable by moderators and the original poster
  • Advanced visibility
Viewable by all users

Your answer

Hint: You can notify a user about this post by typing @username

Up to 2 attachments (including images) can be used with a maximum of 524.3 kB each and 1.0 MB total.

Welcome to Unity Answers

If you’re new to Unity Answers, please check our User Guide to help you navigate through our website and refer to our FAQ for more information.

Before posting, make sure to check out our Knowledge Base for commonly asked Unity questions.

Check our Moderator Guidelines if you’re a new moderator and want to work together in an effort to improve Unity Answers and support our users.

Follow this Question

Answers Answers and Comments

7 People are following this question.

avatar image avatar image avatar image avatar image avatar image avatar image avatar image

Related Questions

Scripts on GameObjects 3 Answers

get all scripts attached to gameobject 2 Answers

Script Execution Order removes scripts on apply 1 Answer

patrol between 2 point error 0 Answers

how to disable specific scripts in an array of scripts 3 Answers


Enterprise
Social Q&A

Social
Subscribe on YouTube social-youtube Follow on LinkedIn social-linkedin Follow on Twitter social-twitter Follow on Facebook social-facebook Follow on Instagram social-instagram

Footer

  • Purchase
    • Products
    • Subscription
    • Asset Store
    • Unity Gear
    • Resellers
  • Education
    • Students
    • Educators
    • Certification
    • Learn
    • Center of Excellence
  • Download
    • Unity
    • Beta Program
  • Unity Labs
    • Labs
    • Publications
  • Resources
    • Learn platform
    • Community
    • Documentation
    • Unity QA
    • FAQ
    • Services Status
    • Connect
  • About Unity
    • About Us
    • Blog
    • Events
    • Careers
    • Contact
    • Press
    • Partners
    • Affiliates
    • Security
Copyright © 2020 Unity Technologies
  • Legal
  • Privacy Policy
  • Cookies
  • Do Not Sell My Personal Information
  • Cookies Settings
"Unity", Unity logos, and other Unity trademarks are trademarks or registered trademarks of Unity Technologies or its affiliates in the U.S. and elsewhere (more info here). Other names or brands are trademarks of their respective owners.
  • Anonymous
  • Sign in
  • Create
  • Ask a question
  • Spaces
  • Default
  • Help Room
  • META
  • Moderators
  • Explore
  • Topics
  • Questions
  • Users
  • Badges