Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411430 Posts in 69363 Topics- by 58416 Members - Latest Member: JamesAGreen

April 19, 2024, 03:16:03 PM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsDeveloperTechnical (Moderator: ThemsAllTook)Best way to learn unity for an intermediate/experienced programmer?
Pages: [1]
Print
Author Topic: Best way to learn unity for an intermediate/experienced programmer?  (Read 4083 times)
dr.crow
Level 1
*



View Profile
« on: February 26, 2013, 03:59:25 PM »

Hi,
Forgive me if this is a frequent question, but I feel like new tutorials appear all the time, and that the answers of old posts may not still be valid.

I'm doing a game design project at my university, and I'm trying to figure out which framework to use. Generally I like doing my own built on top of SFML/SDL/OpenGL, and I've made a couple of small games using construct 2. This time though, since the project is about game design, not game engine design, I thought it would be a good opportunity to try out Unity.

I'm a little overwhelmed by all the material available for learning Unity, and that's why I'm asking. Many tutorials are for version 3, is that a problem? Is there a huge difference between the pro/free version, will I still be able to follow pro tutorials if I only have the free version?

Do you have a favorite series of videos/tutorials or maybe a book to recommend that's sufficiently up to date and ideally targeted at programmers?
Logged
TomHunt
Level 3
***



View Profile WWW
« Reply #1 on: February 26, 2013, 04:50:50 PM »

I would start with the Manual and work through the basic examples there for getting GameObjects up with a Light and a Camera and adding scripts to things.

Once you've read through enough of the manual, you should be able to just dive right into something simple, try things out, and use the scripting reference as needed - which will be a lot at first until you start to get a handle on things.

If you already know C/C++ or C#, I would just go straight to the C# scripting. There's only a few small semantic differences between how to do things there and how the default Javascript examples are presented (and most examples present a C# version anyway). And it's much more robust as a language than Javascript or Boo. If you're a programmer by nature, that's probably going to be the one you're most comfortable with, but it can be useful exercise to try using one of the other languages (just be warned that it can be tricky to mix them together within a project as they are compiled in different passes)

If you run into trouble with anything, the solution can usually be found with a quick Google search which might turn up something on unity answers, although you can check there specifically just to be sure.

The Pro version has some extra goodies like the profiler, HDR lighting, shadow rendering, some optimization stuff like static batching, render-to-texture, customizable splash screen. It is worth it, if you ask me, but if you don't have the cash for it just yet, the free version is still pretty good, too, especially if it's for something like a school project, and you don't have to worry so much about being super competitive and all that.
Logged

~tom | □³ | kRYSTLR
dr.crow
Level 1
*



View Profile
« Reply #2 on: February 26, 2013, 05:13:27 PM »

Thanks for the reply! Had a brief look at the manual. It seems to have improved a lot since last I looked at unity!

I know both C++ and Java well, so C# shouldn't be a problem, and I'm actually pretty excited about trying that as well :-)
I'm comfortable with functional languages as well, so I might give javascript a try, though I'll probably end up with C#.

The pro version do sound tempting, but it's just to damn expensive for a student. I wish they had something like a free pro version for non-commercial or student use.
Logged
TomHunt
Level 3
***



View Profile WWW
« Reply #3 on: February 26, 2013, 09:50:04 PM »

I know both C++ and Java well, so C# shouldn't be a problem, and I'm actually pretty excited about trying that as well :-)
I'm comfortable with functional languages as well, so I might give javascript a try, though I'll probably end up with C#.
It's really easy to learn if you already know C++ or Java. It took me all of about two hours of looking at existing code and help docs to figure out the major differences from C++ and how things generally worked. After that, if I needed anything I just looked it up on MSDN.


The pro version do sound tempting, but it's just to damn expensive for a student. I wish they had something like a free pro version for non-commercial or student use.
Sometimes they offer deals on the pro version. I know in the past they've done things like a 90 day free pro trial (instead of the usual 30 day trial) for Ludum Dare participants.

I'm not aware of any academic deals on the pro version, but I also haven't really been looking for them either  Shrug
Logged

~tom | □³ | kRYSTLR
deathtotheweird
Guest
« Reply #4 on: February 26, 2013, 10:01:20 PM »

try cooking with unity: http://www.youtube.com/playlist?list=PLlHjNcdoyw6UK30xrTUhjM-usQOOE5jhN

personally I just used the script reference, but these videos are really well done.
Logged
skaldicpoet9
Level 10
*****


"The length of my life was fated long ago "


View Profile
« Reply #5 on: February 26, 2013, 10:18:07 PM »

There's a great post on Unity Answers(top response there) that has an extensive list of tutorials for learning Unity. It's really the best tutorial index I've seen for Unity so far. Check it out for sure.
Logged

\\\\\\\"Fearlessness is better than a faint heart for any man who puts his nose out of doors. The date of my death and length of my life were fated long ago.\\\\\\\"
dr.crow
Level 1
*



View Profile
« Reply #6 on: February 27, 2013, 03:48:53 AM »

try cooking with unity: http://www.youtube.com/playlist?list=PLlHjNcdoyw6UK30xrTUhjM-usQOOE5jhN

personally I just used the script reference, but these videos are really well done.

I really liked these ones. Thanks! Like you say, they are really well done.

A friend of mine recommended walker boys studio which has a huge collection of video tutorials, and even exams. It seems excellent, but they use javascript and not c#. I Can't decide if I should stay with cooking with unity (which use C#) or switch.
Logged
Wilson Saunders
Level 5
*****


Nobody suspects the hamster


View Profile WWW
« Reply #7 on: February 27, 2013, 01:28:27 PM »

There is a drop down on the Unity Manual that changes the examples given from Java to C#. It took me a while to realize this, and I spent many frustrated hours trying to figure out why the sample code did not work (when it was a Java/C# translation error).
Logged

Play my games at http://monkeydev.com/
Richard Kain
Level 10
*****



View Profile WWW
« Reply #8 on: February 28, 2013, 08:00:55 AM »

I would stick with C#. I just prefer the strict typing available in C#. It makes general development and especially bug checking easier.

The real challenge to learning Unity is not in the language. It's in the programming structures and methodologies that Unity is built on. Coming to grips with component development is the hurdle that you have to clear. Once you get used to treating most of your coding as attachable components, things start to get considerably smoother.

I've recently started digging into Unity's editor customizations. There are some limitations I've had to come to grips with, but overall I'd say there is lots of potential for developing your own editors.
Logged
doihaveto
Level 2
**



View Profile
« Reply #9 on: March 11, 2013, 07:53:59 AM »

I really liked these tutorials:
http://catlikecoding.com/unity/tutorials/

Mainly because
1. they take you from zero to building a little endless runner game, and
2. it's all in a web page format, not a video, which seemed to make following it much faster

Hope this helps!
Logged

TomHunt
Level 3
***



View Profile WWW
« Reply #10 on: March 12, 2013, 04:52:10 PM »

I've recently started digging into Unity's editor customizations. There are some limitations I've had to come to grips with, but overall I'd say there is lots of potential for developing your own editors.
Yeah, the editor scripting is money. Very useful for automating workflows and testing.
Logged

~tom | □³ | kRYSTLR
Noogai03
Level 6
*


WHOOPWHOOPWHOOPWHOOP


View Profile WWW
« Reply #11 on: March 14, 2013, 10:54:00 AM »

As one who came from C++ to C# (not in Unity though), I can say it's a relatively easy transition, and it gets even easier once you realize that classes in C# are basically C++ pointers but way easier to use (they return a reference to the original value rather than being copied as structs are). Just thought you might wanna know.  Cool
Logged

So long and thanks for all the pi
nikki
Level 10
*****


View Profile
« Reply #12 on: March 14, 2013, 11:15:06 AM »

Quote
classes in C# are basically C++ pointers but way easier to use

huh ?
Logged
Noogai03
Level 6
*


WHOOPWHOOPWHOOPWHOOP


View Profile WWW
« Reply #13 on: March 14, 2013, 12:08:30 PM »

Certainly when you're working with XNA, if you assign a class to another class' value, it not only takes on the class' attributes, but will automatically change as the original class changes as well. Also, if you change it the original will also change. On the other hand, structs are separate - copying one will make a new version of it.
Logged

So long and thanks for all the pi
TomHunt
Level 3
***



View Profile WWW
« Reply #14 on: March 14, 2013, 03:41:40 PM »

Also, automatic reference counting. It's like C++ with a SmartPtr template class built into the language so it is used transparently.

Looks like C++11 added some things to this effect. Smart move. (no pun intended)
Logged

~tom | □³ | kRYSTLR
coAdjoint_Tom
Level 0
***


View Profile
« Reply #15 on: March 14, 2013, 04:08:32 PM »

Just a few things to add from my own experience having picked up Unity last October-ish to work on a project.

-I don't like UnityScript a great deal but that might be cos I came straight from programming in C.
-People will talk about coroutines a lot and you should listen to them.
-C# has a lot of great features which will make your life better: delegates, events and lambda functions and LINQ immediately come to mind (.net in general really). Use BroadcastMessage and SendMessage sparingly.
-Cache everything you call regularly (this.transform for example, also animationStates as you tend to run into memory blowing up if you don't)

Overall I have very few bad things to say about Unity, best of luck.

Logged

Working on skill modelling and adaptive AI systems in video games http://www.youtube.com/coAdjointTom

Game Ai blog:

http://coadjoint.wordpress.com/
Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic