Since our initial announcement, there has been a great deal of interest and many people have questions on what Unity supporting Flash means. Today we lift the veil for a sneak peek.
Unity for Flash Developers
We are organizing a Flash day on September 27th, the day before the Unite conference, aimed at getting Flash developers up to speed with Unity development. On this day we’ll be showing and telling about the Flash support functionality and giving entry level overviews of Unity to get you started.
If you are a Flash developer or designer interested in getting started with Unity, this is a great kick-start to enjoy the Unite Conference following the days after.
If you are interested in learning more about our Flash support, meeting the Flash team at Unity, asking us questions about it or just look at the demos we’ll be showing, we are looking forward to see you there !
The Unity Flash day is free (please do register though), and right now, there are still tickets available for the Unite conference.
Can’t make it out for Flash day ? Sad panda ? Well, we have some good news ! Let us shed some light on our work with a sneak peek right now….it includes a video and it is the first time we are showing our work publicly.
A sneak preview
This video preview shows the Shadowgun game demo by Madfinger Games, a highly anticipated iOS & Android Unity built game. Except now, it is exported for and running in the Flash Player !
While we are not quite ready to ship with Flash support yet, we just couldn’t resist sharing this video with you, as this has been a major milestone for us. We’ve taken the project, changed the build platform to Flash, hit build; magic happens…and the game runs in the Flash Player.
Performance is great and things are looking very promising. Keep in mind, this is a sneak peek; many things are still rough around the edges. Rest assured we are working hard to ship this, there is nobody who likes to see this in your hands as soon as possible more than we do.
Features, features, features.
Many of the features available in Unity today and in the future will be directly available for Flash when we release our Flash export feature. For all of you that are interested in, but less familiar with Unity we’d like to highlight some features that currently already work for the Flash export of our internal Unity build right now.
Unity has an integrated physics solution powered by NVIDIA PhysX. Used for things like rigidbody, ragdoll and realistic car physics, this will make your world come alive with fast and accurate physics. We’ve been testing it out on Flash with some complex scenes and it runs smooth and fast ! For the initial release of our Flash support we will probably not be supporting cloth and soft bodies. All in all this feature combined with the ease of Unity’s editor is hugely powerful to build rich and realistic dynamic worlds.
Adding atmosphere to your scene with advanced and beautiful lighting, can be done from within the Unity editor, using the built in Beast lightmapper. Since the lightmapping is done offline in the editor, it has very little impact on the runtime performance of your game, while adding much more visual depth and atmosphere to it.
With built-in Umbra Occlusion Culling, Unity adds a performance optimization to render only what’s actually visible for the viewer. Visually, the result is the same, but now optimized and faster rendering, with little effort needed to do so.
Everything rendered in Unity is done so with shaders. While Unity ships with 60+ shaders, you can also build your own. The best thing ? Our Flash port automatically converts this to Stage3D AGAL assembly and does all the hard work for you, no extra work involved.
This feature, planned for Unity 3.5, adds really nice and fast dynamic lighting. As the ShadowGun demo shows, lightprobes have a great effect on your scene’s lighting. It renders at a relatively little performance cost and adds lighting details to your scene and it’s dynamic objects, adding to both realism of lighting and visual beauty.
Fire, explosion, debris, fireflies; particle systems add many types of animated detail to your scenes; the current particle system as well as the up and coming new ones, planned for 3.5, fully work for Flash.
Unity can build your games for many different platforms already; and the scripting is portable from platform to platform. With a dash of magic (read : blood, sweat and tears) by our dev team, we support the exact same functionality for Flash. If you script your game with C# or strict JavaScript, everything gets converted to and compiled as ActionScript. This keeps your games portable between platforms and allows existing users using C# to easily target the Flash platform. For the first release we will also support most basic .NET library functionality.
Unity will automatically generate navigation meshes from your level geometry.
Beautiful, natural-looking crowd simulation using RVO and PLE algorithms wrapped in a simple API. Agents can find paths to target locations with built-in crowd simulation, or can be moved directly on the NavMesh in a similar way to the character controller.
Adding audio to to 3D positions and having your player experience the audio of that point in space adds another layer of depth to your game. For the first release of the Flash support we will only support the basics, without effects. However, all normal editor features are retained, allowing you to easily add immersive audio to your game.
Unity supports seamless import and modification of your assets using 3D modellers and Photoshop. With the addition of Flash support, this means that getting from a set of assets to making it interactive with the Unity editor to publishing it for Flash will be as smooth as it is already. We think getting this kind of ease of use for your production is currently unseen for the Flash Platform.
Specifically for Flash support, you’ll be able to communicate between the project and other ActionScript code. This means that you don’t lose any Flash functionality and it allows for tight integration between Flash and Unity. It allows embedding the Unity exported content within your existing Flash project and communicate between your Unity and Flash content.
Preparing now to build for Flash
The above is just a short list of highlights that work out of the box, amongst many more. We are still hard at work on Flash support, however there are some things that are not likely to work in the first release. We’d like to point them so you can start working on preparing your projects for Flash.
- Anything requiring mouselock (unfortunately this is a Flash Player API limitation, it has no mouselock)
- Scripting your project with non-strict javascript (if you have #pragma strict in your js file, you’re good)
- Raknet networking (networking could still be achieved through ActionScript messaging & Flash networking)
- “Complicated” things from the .NET class library (for example; BinaryFormatter, Crypto, WebRequest, Reflection)
- Advanced Audio filters (Reverb zones, Doppler, etc)
- Video (however, flash video can be controlled using ActionScript messaging)
- Terrain engine
- Deferred rendering
Over time this list will get shorter, but we do not plan on holding back a first release for the lack of any of those features. As for the question “when is it done”; at this point we are not able to give you an exact shipping date yet. We’ll follow up with another post when we know more.
We hope you enjoyed this little sneak, are looking forward to hear what you think and will hopefully see you at our Flash day or Unite !
9:36 pm
That looks amazing!
Rafael Rinaldi
9:46 pm
Looks amazing! Question: can we use Actionscript-specific classes (or even better: AS3 libs in swc format) within a Unity project?
bartekd
9:48 pm
you can embed the unity generated flash content into your own flash project, and then talk between them both ways.
Lucas Meijer
9:48 pm
Awesome, great job!
Jordan
9:48 pm
This is awesome!
James B
9:51 pm
What’s the timeline for launch? and will it compile to Fp10?
James B
9:54 pm
Awesome news guys!!!! Can’t wait for it =]
Danilo Nishimura
9:54 pm
Wow, this will make stage3d a breeze!
Trent Sterling
10:03 pm
This is huge! Looking forward to try it myself!
Bruno
10:04 pm
@James B : It’s mentioned in the post, but we have no shipping date yet. However, I can give you a definitive answer on FP10, no it won’t. We rely on the Stage3D feature in FP11, without hardware acceleration this wouldn’t be possible.
ralph_hauwert
10:13 pm
Thanks for saving our a$%
and OMG !!!!!!!!!!
laurent
10:16 pm
That looks outstanding — can’t wait!
Greg Dunn
10:24 pm
I’m not here to say anything useful, I just wanted to add my collective whoa!! to the list
That looks utterly incredible. No wonder Adobe provide zero tools for game devs with something as stunning as this around the corner.
Richard Davey
10:25 pm
Just superb! Is it allready known if this export will require a separate payment to get the deployment option or will it be available by default to unity pro customers ?
Bart Libert
10:28 pm
This looks AMAZING. I can’t wait to see it in native client.
Ben Gildenstein
10:35 pm
Great, great work. I have near-boundless respect for Unity’s engineering team. Keep it up : )
increpare
10:36 pm
OMG! This is incredibly amazing! Certainly one of the coolest things I’ve seen in my several years as a Flash developer.
Please release this ASAP!
Luís Fonseca
10:37 pm
How is physx implemented? Alchemy?
Trent Sterling
10:45 pm
@Trent Sterling : All the information we can share at this point in time is in the blogpost…keep in mind, it is a sneak peek
ralph_hauwert
11:24 pm
it’s new era for flash.great job guys
away4m
11:33 pm
Fantastic work, very impressive that you guys were able to convert soo much of Unity3D to FlashPlayer 11. Quality looks amazing!
Stephan Tanguay
11:34 pm
How does the performance compair between the unity player and flash?
Geoff
11:37 pm
hohoho
hellozeto