
What's new in Unity 4.3 - jbevain
http://unity3d.com/unity/whats-new
======
TillE
Unity really desperately needs a Mono upgrade, as their version is years old.
Unfortunately it seems to be a licensing issue with Xamarin, because of LGPL
constraints on mobile platforms.

It's quite frustrating to work with C# without all the features of the last
few versions, particularly if you want to use third party libraries.

~~~
socialist_coder
I mostly program C# inside of Unity. What are some of the newer C# language
features that it's missing that you think are pretty cool?

I have my game server as a C# MVC app as well (latest .NET running on Windows,
not Mono/Linux) and the only things new that I seem to be using are the async
and await keywords. But you don't need them inside of Unity since they have
Coroutines and yield.

~~~
pdwetz
I can't speak directly to the differences with Unity, but comparing C# from
.NET 2.0 to the latest you're missing: LINQ, dynamic data types, extension
methods, optional and named method parameters, covariance and contravariance,
async and await... and a whole bunch I'm probably forgetting. It's a lot more
flexible now and lets you take advantage of dynamic/functional code. After
coding in 4/4.5 for awhile, I certainly wouldn't want to go back to a 2.0
ecosystem.

~~~
socialist_coder
Extension methods work (I use those all the time), and async and await are
unnecessary because Unity gives you coroutines and yield.

The rest of that stuff seems cool though. Oh well =\

------
300bps
As someone who made games throughout my childhood, I'm looking forward to
trying out the new built-in 2D functionality with my 9 year old. We've used
Scratch, RPG Maker and a few other things but it would be nice to use a
framework that has such wide publishing capabilities so he can show his
friends his creations more easily. I didn't think he was ready to tackle 3D
game creation so we haven't tried Unity yet but I was really waiting for 4.3
to come out - thanks for the heads up!

~~~
yeppers8
Unity seems a bit tricky for a 9 year old even with this update, you might
want to check out something a bit simpler like Construct 2 to start with. Just
an idea

~~~
300bps
Checked it out - looks awesome and will be downloading the free version to try
it out first. Anyone else have other suggestions?

~~~
pajaroide
I prefer Gamemaker Studio ([http://yoyogames.com/](http://yoyogames.com/))
it's more code oriented but very easy to use. There's a free version too. Look
up Hotline Miami if you want to see a commercial game made with it.

------
zura
I'd be more happy if Unity goes toward being more programmer-friendly. Fully
code-only projects support, no need to waste a lot of time tinkering in that
complex UI, etc...

~~~
Cacti
Source: me. I don't work for Unity. Software engineer and use Unity for a lot
of 'traditional development'.

You'd be surprised... there isn't a ton of documentation about it, but most of
the engine is pretty well exposed for programmers.

You can punch into the rendering pipeline (down to immediate OpenGL mode if
you need to), the compilation pipeline (recompiling on the fly or setting up a
custom preprocessor), hook into the assemblies (for, say, an interactive
interpreter run in the game), and hook into native binaries in unmanaged code.
Naturally you can use any language that can compile into IL, so, you don't
even have to use C# or Boo if you don't like it (though you'll want to take a
look at Boo... UnityScript interpreter was written in it for a reason! yay,
LISP MACROS with dynamic recompilation and loading!)

The editor will, in turn, handle a lot of things for you that are a waste of
time to do normally, like visualizing things without having the game running
(tweak a shader on the fly), handle all of the recompiling for you in the
background, dyanmically load and unload resource files, let you easily browse
the scene graph, let you write custom editors (for example, I wrote a
converter to convert files of different types so that it happens when those
files are added to your resources, instead of converting them on the fly at
run-time or with some external half-assed console script), etc. Naturally, you
can use your own editor if you're more comfortable (for example, I use Emacs
and git and the mono profiler and debugger, rather than Unity and Unity Source
Server and Monodevelop, and it works just fine, and I don't spend much time at
all in the actual Unity Editor)

And the library itself has all kinds of things that you'd expect to make your
life easy: screen graph manipulation, transforms and other 3D math, physics
basics like raycasts and bounding box intersections, input handling, camera
manipulations, sound and audio handling, event handlers and hooks on all kinds
of stuff, color management, network handling and resource streaming, etc.

The tool also comes with a number of pre-written scripts (plus store, of
course) to help you out with things you really should never have to re-invent
and that a programmer probably doesn't even want to be bothered with, like a
first-person or third person controller (complete with physics, camera work,
input control and movement, etc.). Or you could go to the Store and pick up,
say, a Mini-Map tool for $30 and have it working in about 5 minutes, which, to
me, is very programmer friendly (who wants to spend their time reinventing a
mini-map?!).

On top of that, your game will be almost entirely cross-platform automatically
across a wide array of devices, AND will have native code for those devices
for performance-heavy sections. You don't have to waste much time tracking
down errors on all kinds of different platforms, which is also very
programmer-friendly.

Couple problems: the docs aren't as good as they could be, the Mono version is
still a ways back (~2.10ish), compute shaders aren't built-in to OSX yet
(though you could do this yourself if you really wanted to), the community is
geared around "scripting and drag/drop/click" so getting detailed assistance
for very technical matters is sometimes difficult, etc.

All in all though, it's pretty amazing. Now, it will take you awhile to learn
all that, to find out where everything is exposed, what you need to hook into,
etc., but, once you do, it is actually very programmer friendly.

~~~
tieTYT
You seem knowledgeable so I figure I'd reply here since I keep getting mixed
messages on this point: Is it easy to commit your Unity code in a VCS and have
teammates work on it with you simultaneously? Some people say yes, some say
no.

~~~
nacs
I have been using git for source control with no issues (haven't tested in a
team environment however).

Not sure if you were aware of this already but theres a non-default setting in
the Unity preferences for enabling "Version control support" that basically
makes Unity save metadata in a text format instead of its standard binary
format:
[http://docs.unity3d.com/Documentation/Manual/ExternalVersion...](http://docs.unity3d.com/Documentation/Manual/ExternalVersionControlSystemSupport.html)

------
Aardwolf
Does it work on Linux?

~~~
jpadkins
Yes, as a build target:
[http://unity3d.com/unity/multiplatform](http://unity3d.com/unity/multiplatform)

The IDE does not run on linux, just mac and windows.

~~~
berkut
which is ironic as it's Mono...

~~~
CmonDev
Mono has a good cross-platform GUI library? IDE is mostly very rich GUI I
guess.

~~~
gnufied
Monodevelop was primarily developed on Linux, so this is bit ironic indeed.

May be it is because 3D/2D modeling aspects of the IDE, not really because of
Coding aspects.

~~~
pjmlp
Not any longer, Miguel lost interest.

[http://tirania.org/blog/archive/2012/Aug-29.html](http://tirania.org/blog/archive/2012/Aug-29.html)

------
flanbiscuit
has any small/indie game developer here had experience with their license? I'm
curious how much it'll cost to publish to a console system. Their website says
it's a per-case basis and I'm not actively developing anything now so calling
them won't help. Just curious, thanks!

~~~
ntaylor
Deploying to console is very expensive. Wii license is something like 40k, PS3
is more. Not sure about Xbox 360.

I was told by someone familiar that the XBOX One license will be free.

~~~
pjmlp
> I was told by someone familiar that the XBOX One license will be free.

This was announced some time ago already,
[http://blogs.unity3d.com/2013/11/05/big-xbox-one-news-for-
un...](http://blogs.unity3d.com/2013/11/05/big-xbox-one-news-for-unity-
developers/)

------
k__
Does it come with HTML5 browser support or is it still using this plugin?

~~~
james33
Not yet, but don't be surprised if WebGL export is a big feature of the next
major release.

~~~
k__
Would be nice to have the tooling on the web :)

------
eeeeaaii
Chrome is dropping NPAPI support, which includes the Unity browser plugin.
Unity will be temporarily whitelisted probably through the end of 2014 but the
goal is to remove support entirely.

[http://blog.chromium.org/2013/09/saying-goodbye-to-our-
old-f...](http://blog.chromium.org/2013/09/saying-goodbye-to-our-old-friend-
npapi.html)

So if they want to continue offering a browser plugin they have to switch to
NaCl, I think.

------
xsmasher
Anyone know how "mergeable" the project files are? Are they git friendly?

~~~
Tiktaalik
They are technically mergeable because they're text based, but they're not
super easy to comprehend. I've found that .unity scene files seem to develop
dramatic changes between check-ins that make it difficult to isolate problems
(ie. giant blocks of text removed from one part of the file, then put in
another part of the file untouched).

In general I feel like the best practice is to touch these .unity scenes as
little as possible, and spend most of your time iterating on prefab files,
which are easier to read.

Haven't tried git with unity so I dunno if there are any special case issues
there.

------
ntaylor
Looks like the download link is no good. Getting a 404 (Windows).

~~~
KMBredt
It starts after 2 seconds or so.

Direct link:
[http://netstorage.unity3d.com/unity/UnitySetup-4.3.0.exe](http://netstorage.unity3d.com/unity/UnitySetup-4.3.0.exe)

~~~
ntaylor
That worked. Thanks.

------
usaphp
Background image has some issues in safari when scrolling.

------
biaxident
Are there any good tutorials on using the 2D toolset?

~~~
mscottmcbee
Other than the official documentation, you'll probably have to wait a few
days/weeks.

------
pjmlp
Now I know what I have to download tonight! :)

------
viseztrance
I wonder how does this compare to Corona.

~~~
nacs
I've used Corona to develop a hobby project in the past and its great for 2D
(easier to use and more programmer friendly than Unity) but completely
unsuitable for any 3D work so its really just depends on what kind of game
you're making. With Unity 4.3, the 2D experience should be much better (before
4.3, you needed ~$100 addons for decent 2D sprite support in Unity).

------
rbanffy
Am I the only person who opened the link expecting something about Canonical's
desktop?

~~~
kleiba
Yeah, the naming has always been unfortunate, but given that the URL after the
headline says "unity3d.com" it's kinda clear which of the two was meant.

~~~
rbanffy
Unity used 3D acceleration to render its lenses.

If you are completely unaware of the gaming scene and an Ubuntu user (I am in
the intersection of both), it's not obvious.

~~~
Arelius
I've had the opposite problem, seeing in the past an article about Unity the
compositor, being about 3D rendering of some sort and instantly thought Unity
3D the engine. This is likely due to my exposure to the gaming space.

