
Unity 5 Feature Preview [video] - matt42
http://unity3d.com/5
======
johnvschmitt
Before I choose to build using a new feature, I'd love to see a clean
breakdown of which features "cost" more (performance) on devices. For
instance, does "real time global illumination" kill the framerate on iPhone4?

If there's already a checklist like this somewhere, please share with the
community, as I'm sure there are many other Unity3D devs here.

------
Ethan_Mick
Every once in a while I'll get it in my head to make a 3D game, rather than a
2D one. But I don't want to spend the time building any assets - not only am I
bad at that, but I also don't know if my idea is good until people try it and
give me feedback... which requires a working prototype.

What I'm looking for is a game engine (asset library?) that lets me build my
town by placing buildings, and dropping in my main character - and then I can
just run around the town, opening doors and talking to people. Tons of tons of
game have dialogue, medieval fighting, assassinations, kill moves - I don't
want to have to spend time making any of that. I want to test my game ideas
and see if they are fun. I want to write the parts that are unique to my game,
the story and the decisions you make. Then, later, I can go back and iterate
on assets.

Both game engines now have Asset stores, but I'm not sure the level designer
is to the point where I can quickly iterate over my ideas.

~~~
mtinkerhess
There are (at least) three levels of development in a game: engine, gameplay,
and content. Depending where you draw those lines, Unity gives you the engine
and you provide the gameplay and content. It sounds like you're interested in
just working on content, in which case there are tons of games that let you do
more or less what you describe through modding (eg Skyrim).

~~~
baddox
It's not for FPS's (although it's been used for that), but Starcraft 2 has
really impressive modding features. I've been third person action games,
arcade shooters, 2D platformers, and tower defense titles. There's even a
popular soccer game where each player is a unit from Starcraft.

------
archagon
Glad to hear they're continuing to work on the 2D editor and 2D physics.
Unless I'm missing something, getting 2D platformer floor and wall collisions
working properly is still a pain right now. (Sudden, discrete changes in
velocity + physics colliders + tiles = wonky behavior.)

~~~
yzzxy
As someone who has implemented an semi-extensive set of interactive demos in
the new 2D editor and toolkit, I have to say that it arrived half-baked. I'm
really looking forward to the upcoming updates, but doing anything like a real
game in the toolkit is next to impossible currently. Pathfinding is a specific
weak point I ran into on another 2D project. The main A* implementation for
Unity handled the native 2D toolkit very poorly when I last used it, and the
built-in Unity toolkit didn't work with it at all.

------
kayoone
personally i am most excited about the html5 export they announced recently

~~~
ENGNR
Same. The conversion funnel on getting someone to download an app is
ridiculous compared to web, nothing better than just click.. you're in.

That and Firebox (HTML based VR metaverse, so you can change server and
download new content just by walking through a doorway) have me pretty excited
about 3D at the moment.

------
msie
Some work has got to go into the MonoDevelop environment. I had many problems
with javascript autocomplete...

~~~
socialist_coder
Don't use javascript. Seriously. Use C#.

~~~
DonHopkins
I agree, C# is a much better programming language than JavaScript. Well worth
the time to learn, even if you already know JavaScript.

The version of JavaScript that Unity has is actually just a thin veneer around
the Mono runtime, so it's not quite the same language or environment you use
in the browser or node.js.

However, there are some good reasons for using JavaScript in Unity: using
existing libraries and developing new libraries that run in browsers, mobile
devices, node.js, Unity3D and other JavaScript VMs, so you can have one code
base that runs across all those platforms.

There some problems and impedance mis-matches to solve, to make running
existing JavaScript code in Unity3D more seamlessly possible and even
convenient. And that's exactly what Browserify does for web browsers!

[http://browserify.org/](http://browserify.org/)

There is a great tool called Browserify that solves the problem of running npm
modules written for node.js in the browser, resolving dependencies, inserting
shims to implement standard asynchonous node.js APIs in terms of the existing
Unity3D apis, and packaging everything together in one file that can be
downloaded and run in a web browser.

Browserify for Unity3D could be called Unityify.

For example of how it would be useful, I'm rewriting Micropolis (based on the
original SimCity Classic code from Maxis) in JavaScript, and I'd like to be
able to easily drop the JavaScript simulator engine code into Unity3D, and
implement a nice 3D or 2D user interface in C# or whatever useful modules I
can find on the Unity Asset Store.

I think "Unityify" would be a useful tool that lots of people could use, since
the argument for running the same JavaScript code in both web browsers and
node.js servers and desktop apps also extends to running it in Unity3D.

Ideally it would be able to just pass the JavaScript libraries through with
minimal wrappers, when building Unity3D projects for deployment in browsers
with WebGL.

Is anyone else interested in such a tool, or even working on it already, or
interested in collaborating?

~~~
doyoulikeworms
Huh, that's a good idea!

I wonder if it would be possible to integrate a Mono-compiled version of
Javascript (e.g., IronJavascript) into Unity?

Some cursory Googling produced these interesting posts on integrating
IronScheme[0] and IronPython[1] with Unity.

[0]: [http://forum.unity3d.com/threads/76266-Facilities-for-
script...](http://forum.unity3d.com/threads/76266-Facilities-for-script-
languages-Scheme-in-particular) [1]:
[http://techartsurvival.blogspot.com/2013/12/embedding-
ironpy...](http://techartsurvival.blogspot.com/2013/12/embedding-ironpython-
in-unity-tech-art.html)

------
golergka
Any news on Mono version update? May be these AOT bugs that make Linq unusable
will be fixed at least, or compiler won't crash at guessing generic parameters
that often?

~~~
TillE
Nope, it certainly won't be in Unity 5. And the most they're willing to say is
that they're working on solutions. It's been what, four or five years now?

That's why I'm now using Unreal Engine 4. If you're comfortable with C++, I'd
recommend it, though it's still more or less in beta at the moment.

~~~
reitzensteinm
I'm looking into UE4 for my next game, too, and Mono is one of the reasons why
- there seems to be a focus on big picture features at the expense of the day
to day quality improvements.

For instance, my game builds are ridiculously large, because you can't store
your textures in a losslessly compressed format (you can load from URL a png
manually, but then you have to manually apply them to your models).

Unity has been so successful because it's been an "OK" tool in a land of
rubbish. It seems as though it's finally getting some strong competition at a
comparable price point, which is great for everyone.

Either Unity will step its game up (which I'd love, I don't want to switch
tools), or it'll enter a long, slow period of decline.

~~~
socialist_coder
Unity 4.3+ lets you choose "png" format as part of the native 2d support. No
more 16/24/32 bit uncompressed as the only lossless formats.

I'm not sure if the new "png" format would work for 3d textures though- there
might be some other weirdness there (like maybe you can't turn on mipmaps or
something) since it's supposed to be used for 2d sprites.

------
diziet
I love that they even mentioned the simple interstitial API call! I wonder if
they want to grow more revenue that way in the immediate future.

------
herokusaki
Does Unity have its equivalent (however immature) of Apache Flex?

------
notastartup
cryengine and UDK have far lower monthly subscription plan, and superior
graphics and performance. I love unity but it just seems very expensive just
to be able to port to iOS and Android on top of the unity pro plan. Maybe if
they included iOS and Android in the $75/month (which is still much higher
than UDK and Cryengine have announced) and lowered it further, it could stay
competitive.

~~~
legohead
barrier for entry into Unity is still unmatched.

C#/Javascript vs C++/Lua

Lua is easier than C++ but is still, I don't know, quirky, to me.

~~~
doyoulikeworms
Unity's "Javascript" is, AFAIK, more aptly named "UnityScript".[0]

[0]:
[http://wiki.unity3d.com/index.php?title=UnityScript_versus_J...](http://wiki.unity3d.com/index.php?title=UnityScript_versus_JavaScript)

~~~
DonHopkins
Good point. Please see my comment about "Unityify"!
[https://news.ycombinator.com/item?id=7613488](https://news.ycombinator.com/item?id=7613488)

Since I haven't written much "UnityScript" code myself, I'd appreciate your
comments about whether you think it's possible (or worth the effort) for a
tool like Browserify/Unityify to translate JavaScript code so it runs in
Unity3D, or for programmers to write portable modules in a dialect of
JavaScript that will run in both.

Maybe Unity3D themselves could help, by fixing problems with UnityScript that
make it hard to run standard JavaScript, and providing hooks in their compiler
pipeline that enable passing JavaScript libraries through with minimal
modification when you're targeting the web browser and WebGL.

