Does Unity Script syntax change from release to release? If so how much?

Does Unity Script (JS), C# or Boo syntax change from release to release? If so how much?

I would like to be aware of outdated material while learning from tutorials.

Not much. UnityScript has improved slightly each release, but mainly in things like adding support for Generics. C# changes as Mono catches up / follows Microsoft, so for example it now supports “var”.

As for the library of components, sometimes improvements are added that make usage easier, so older tutorials may describe an over-complicated way to do something (eg. Physics.IgnoreCollisions vs. new physics layer-based collisions).

I would always recommend that any component you learn about from a tutorial you also read the current reference documentation for that component too.

It depends on the release. Sometimes there are no changes, sometimes there are big changes (Unity 2.6 → 3.0 being the biggest). Primarily with UnityScript, since it’s a custom language. Best thing is to read the release notes. For example, in Unity 3.4, GetComponent(X) returns type X now instead of Component.

I haven’t noticed if it has. I would imagine it would be hard. C# syntax is C# syntax, that is not something Unity controls. For instance, UnityScript is just .Net with JavaScript syntax laid over it.

working with unity for about one and a half years, when starting out this was an issue for me, so frustrating to follow tutorials, not knowing the errors that popped up were due to version issues! just going to repeat this other good advice, check ‘what’s new’ for each version just to check!