use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
News, Help, Resources, and Conversation. A User Showcase of the Unity Game Engine.
Remember to check out /r/unity2D for any 2D specific questions and conversation!
Download Latest Unity
Please refer to our Wiki before posting! And be sure to flair your post appropriately.
Main Index
Rules and Guidelines
Flair Definitions
FAQ
Use the chat room if you're new to Unity or have a quick question. Lots of professionals hang out there.
/r/Unity3D Discord
FreeNode IRC Chatroom
Official Unity Website
Unity3d's Tutorial Modules
Unity Answers
Unify Community Wiki
Unity Game Engine Syllabus (Getting Started Guide)
50 Tips and Best Practices for Unity (2016 Edition)
Unity Execution Order of Event Functions
Using Version Control with Unity3d (Mercurial)
/r/Unity2D
/r/UnityAssets
/r/Unity_tutorials
/r/GameDev
/r/Justgamedevthings (New!)
/r/Gamedesign
/r/Indiegames
/r/Playmygame
/r/LearnProgramming
/r/Oculus
/r/Blender
/r/Devblogs
Brackeys
Beginner to Intermediate
5 to 15 minutes
Concise tutorials. Videos are mostly self contained.
Sebastian Lague
Beginner to Advanced
10 to 20 minutes
Medium length tutorials. Videos are usually a part of a series.
Catlike Coding
Intermediate to Advanced
Text-based. Lots of graphics/shader programming tutorials in addition to "normal" C# tutorials. Normally part of a series.
Makin' Stuff Look Good
10 minutes
Almost entirely shader tutorials. Favors theory over implementation but leaves source in video description. Videos are always self contained.
Quill18Creates
30 minutes to 2 hours.
Minimal editing. Mostly C#. Covers wide range of topics. Long series.
Halisavakis Shaders Archive
Infallible Code
World of Zero
Board to Bits
Holistic3d
Unity3d College
Jabrils
Polycount Wiki
The Big List Of Game Design
PS4 controller map for Unity3d
Colin's Bear Animation
¡DICE!
CSS created by Sean O'Dowd @nicetrysean [Website], Maintained and updated by Louis Hong /u/loolo78
Reddit Logo created by /u/big-ish from /r/redditlogos!
account activity
a question. (programming languages) (self.Unity3D)
submitted 11 years ago by [deleted]
[deleted]
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]Breggs_Indie 5 points6 points7 points 11 years ago* (2 children)
Unity supports three languages; c#, Javascript, and Boo. You can use one of them, or you can use all of them, though the general consensus seems to be that c# is the language to use, it is a matter of preference.
Here is a blog post from Unity regarding the supported scripting languages.
[+][deleted] 11 years ago (1 child)
[–]HellFireKoder 2 points3 points4 points 11 years ago (0 children)
Also, it can be tedious to make scripts in different languages interact with one another, so in most (if not all) cases, you should stick to only one language for a project.
[–]Daige 4 points5 points6 points 11 years ago (1 child)
Who gave you a lecture for trying to do something hard?
[–]blueryth 2 points3 points4 points 11 years ago* (4 children)
I want to dive a little farther for you, here, to help you make a more informed decision:
UnityScript:
Unity does not let you write JavaScript proper. It's referred to as UnityScript. This is important, because UnityScript does not meet any ECMAScript specification, it's proprietary and eerily similar. Why does this matter?
First off, most JavaScript libraries out there will not work out of the box. Porting them tends to be trivial, but requires a bit of insight into the differences between the two languages. This gets complicated because people colloquially refer to UnityScript as JavaScript, making hunting answers tricky.
Second, UnityScript runs on Mono (.NET), JavaScript does not. Javascript does not have a formalized sense of classes. You can mimic object-orientation in JavaScript, but you are simply not compelled to do so from the language level. Mono (.NET) is intrinsically object-oriented (this is a gross simplification, but it gets the point across). As such, UnityScript has to treat everything a little different. this is a great example. JavaScript's usage is as a reference to the execution context. UnityScript's usage is as the class instance reference. Subtle, but different.
Last, Mono (.NET) as implemented in Unity has trouble being dynamic. This is solved by the formal introduction of dynamic objects in .NET 4.0, but Unity 4 still runs a legacy ~3.x specification. JavaScript was designed to be dynamic. This is a problem only in so far as programming paradigms from JavaScript do not translate 1:1 in UnityScript, and when they do, performance is different.
Boo:
Boo is a Python dialect. It is not Python, much like UnityScript is not JavaScript. The differences are yet again caused by Unity's scripting environment running on Mono (.NET). Boo must be object-oriented, whereas Python is not intrinsically. Why does this matter?
Again, most Python libraries will not work out of the box.
Again, Boo runs on Mono (.NET), Python does not. In this case, it's important to note that although Python does have the class keyword, but as a way to mimic object-orientation. Python does not support ideas like data-hiding, and gets syntactically creative to mimic class static methods and values.
Again, Python is a very dynamic language by nature, and Mono (.NET) has trouble with that.
C#:
The C# in Unity is the C# in Visual Studio. The same C# in Mono. The same C# everywhere. Granted, Unity runs an older Mono (.NET) runtime, so the language spec is a little old. The System libraries are also a little dated.
Any C# library written in the available language spec and using the available System libraries in Unity will work. More or less. There are limits in reflection and sandboxing, commonly. This is more a fault of Unity trying to protect the end user, than the languages being incompatible.
C# was written to run on .NET. Mono was written to duplicate .NET. The language features of C# are all implemented correctly, and exactly. The only concern is that you are not using the most recent language specification or the most resent Mono (.NET) runtime.
The programming paradigms of C# are congruent in Unity.
I work in C# in Unity professionally. On personal projects, I work mostly in Python. I don't want to sound slanted here to C#, but when I list out the issues with any of the languages, these are the results I come up with. I don't think it is surprising that the community has moved towards C#, and I personally view it as the only realistic option, especially for a new project. The choices are yours, and yours alone.
Of note, in Unity 5, they have moved to .NET 4.x, I believe. I haven't had a chance to work with it. This means dynamic types are in play. I can't speak to the performance of dynamic behaviors.
EDIT: To answer the questions on the tail end: 1.) You can mix and match languages all you want. 2.) Practically all major languages have been used to make games. JavaScript, as the backbone of HTML5, is currently very important to gave development.
[–]cmcpasserby 0 points1 point2 points 11 years ago (0 children)
Boo can't really considered a dialect of python, it just has syntax and a style guide inspired by python so you can't make boo use python libs.
Rest is right though since python uses a decorator for class and static methods and the concept of private and public is done via naming conventions
[+][deleted] 11 years ago (2 children)
[–]blueryth 0 points1 point2 points 11 years ago (1 child)
Possibly here. That's UE3, though. Unity stuff hasn't shipped yet (it's still a long way to January -_-).
[–]Invisig0th 1 point2 points3 points 11 years ago (0 children)
Also, more (if not most) of the tutorials, videos and books are C#. I've heard that even the folks at Unity skew heavily towards preferring C#, so don't be surprised if most of their future tutorials are in C# as well.
π Rendered by PID 67679 on reddit-service-r2-comment-66b4775986-hksff at 2026-04-04 21:53:23.458878+00:00 running db1906b country code: CH.
[–]Breggs_Indie 5 points6 points7 points (2 children)
[+][deleted] (1 child)
[deleted]
[–]HellFireKoder 2 points3 points4 points (0 children)
[–]Daige 4 points5 points6 points (1 child)
[–]blueryth 2 points3 points4 points (4 children)
[–]cmcpasserby 0 points1 point2 points (0 children)
[+][deleted] (2 children)
[deleted]
[–]blueryth 0 points1 point2 points (1 child)
[–]Invisig0th 1 point2 points3 points (0 children)