Search Unity

supports flash.

Discussion in 'Wish List' started by half_voxel, Dec 25, 2007.

  1. minevr

    minevr

    Joined:
    Mar 4, 2008
    Posts:
    1,018
    Interactive how to do? :?
     
  2. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,601
    the main problem with Flash is that it is 2D, not 3D accelerated, so you need to update a texture in realtime to have flash data in it and do anything even just visually, which puts it on the same level as Movie Textures for that aspect only.
    But additionally you also need to analyze the flash data in realtime to get buttons etc and route calls back into it etc.

    And as Adobe does not provide a Unity Plugin, thats neither a small nor a trivial thing to do.

    Even a good developer takes a fair amount of time doing it and its really the question how many would have use for an UI system that requires an $800 application. For the Basic license it definitely wouldn't fit anymore as anyone who can fork out $800+ for Flash also can afford Unity Pro to use professional features.

    I wouldn't say no if it happened to Unity Pro 3.x
    Would at least give me a reason to use Flash at all.
     
  3. TheAlchemist42

    TheAlchemist42

    Joined:
    Apr 17, 2008
    Posts:
    68
    I agreed with you up until this. You absolutely do not need Flash (the application) in order to make swf files. swf is an open and documented (if proprietary) format and there are a great many programs, some free some not, that can produce swf content.

    I have no love for Flash. But the inclusion of swf content would be nice.
     
  4. Decept404

    Decept404

    Joined:
    Apr 29, 2009
    Posts:
    23
    Dreamora i'm not sure what kind of fantasy Flash you are talking about, but Flash is heavily optimized to only update its visual output when needed. In fact, making sure you avoid unnecessary updates is a big part of flash dev.

    I can throw together a .net directx app right now that renders a transparent flash application on top of a spinning cube or whatever. Compare this to Unity GUI, which is practically a variation on the same; a 2d layer composited on top of a 3d viewport.

    A flash layer does not (can not actually) update at the same framerate as a unity app. It will have to live in its own layer, connected to Unity via the ExternalInterface api. A S***ty flash app will always suck cycles, but a well produced one will only do so when the developer asks it to. There is no golden rule that Flash = automatic loss of a billion cycles.

    Again, i strongly recommend you look into existing game frontend solutions using Flash, most relevantly Scaleform (which sees a lot of use). This isn't a crazy idea; it's in wide use already.

    It helps that Flash is currently utterly free to create content for. The commandline compiler and flex framework are freely downloadable from Adobe, and there are free IDE's like FlashDevelop that hook right into that in a very userfriendly manner.

    I simply don't buy that Flash would have to be rendered to a texture on every frame update. Developers have solved this problem repeatedly already, why is it such a terrible ordeal for a talented group like Unity?

    Regardless, i think Unity GUI needs a big update of some sort. It's clearly the least impressive aspect of the package right now. Of course this is relative, but remember a great deal of new Unity developers migrate from Flash, and the GUI is just grating.
     
  5. HiggyB

    HiggyB

    Unity Product Evangelist

    Joined:
    Dec 8, 2006
    Posts:
    6,183
    And who exactly from our end said it's a "terrible ordeal" for us? Nobody. ;)


    Now, what is an issue, as I've stated earlier in this thread, is exactly how we go about offering Flash support. There are two general paths: lump in a Flash player (either Adobe's or a 3rd party solution like Scaleform) so it's entirely included in our player, or link against the external system installed Flash player. In the first case there are issues as that would bloat our player size by a significant amount and we have to approach any size increases, let alone such large ones, with great care and consideration. In the second case we introduce features in our player that are dependent on another player and that's also far from optimal as you'd need to do a double-player check, plus we'd have to stay on top of Flash player updates and so on.

    So the question isn't one of "gosh, it's so hard to sort out this render-to-a-texture or whatever" issue, it's a matter of what's the smoothest mode of implementation and what "costs" does that push onto our developers/customers (you folks). :)

    So far, we've had much bigger fish to fry and so Flash/SWF support hasn't made it on to our to-do list. Going forward we're clearly keeping an eye on things and doing our homework. On your end, please make sure you go submit your feedback to us here so we have it in an organized and quantifiable location. This Wish List area is great but it's a place for loose conversation at best. So go use your voice and vote up the various features you want to see in Unity! :D


    Edit: and for sure UnityGUI will get updates, it's only in its first major release now (the 2.x family) and we'll continue to improve it over time like all features. :)
     
  6. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,601
    You are right, it would only have to update the texture if the flash movie updates even a single pixel. As long as it is mainly static that naturally holds not true. Didn't really think of that situation :oops:

    And that bad stuff can make good stuff crap is nothing new and likely will never vanish I fear ^^


    Thank you for the pointer. Might be an idea also to potentially make it possible for standalone deployments to use it with 2.x already



    Onether thing to keep in mind is that when / if Unity updates to the current Mono, there is a free and far more .NET integrated alternative to Flash with Silverlight / Moonlight.
    So I think UT might have a not that trivial nor easy decision to do there generally with the interface system
     
  7. Soul

    Soul

    Joined:
    Jun 22, 2009
    Posts:
    3
    nice job guys.

    'you' (mainly all who commented here) reminded me why forums are largely for cocks and know-it-alls (who really know sweet FA about anything other than a boolean).

    let me just tell you all something.

    in about 30-50 years, if you live in a house without air-con, your gonna die real quick.

    have a nice day and stop putting people down cos they think differently to you.

    Oh yeah, and lastly, usually when you start getting cocky about a technology or some f'in thing you become affiliated to, normally state sponsored terrorism in most cases here but move on, it gets blown away by another technology and your the same guy who appears on that forum slagging off the technology that brought you to that place.

    Flash is awesome, unity3d is awesome. try not to be such a f'in cock all your life. hehe mf.
     
  8. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,601
    lot of f words with very little content.
    If you try to explain anything to anyone, would you mind to at least use anything that makes sense and not post spamerbot class stuff?
     
  9. HiggyB

    HiggyB

    Unity Product Evangelist

    Joined:
    Dec 8, 2006
    Posts:
    6,183
    @Soul: I see nothing that warrants your comments here, please tone it down. Thanks.
     
  10. zumwalt

    zumwalt

    Joined:
    Apr 18, 2007
    Posts:
    2,287
    Let us step back and really think about this request for one moment.. Flash target is the
    web space, so put flash on the web form, now unity ocx sits in web space, so... what you simply do is wrap flash around unity. The flash content then surrounds unity, next we build a bridge between the two and use either rest, soap, post/get or insert name instance here.


    No need to bloat either flash by posting on their forums to imbed unity and no need to bloat unity with version x of flash. Now to further this, neither technology then requires core rebuild because the other changed and updated/ fixed bugs or insert named change here.

    Out the gate you can use unity with -any- web technology, the so why imbed that into unity?
     
  11. HiggyB

    HiggyB

    Unity Product Evangelist

    Joined:
    Dec 8, 2006
    Posts:
    6,183
    Keep in mind that trying to layer _anything_ on top of Unity fails as with 3D content it's a direct draw on screen (no off-screen compositing with other in-page content). So the "why?" is answered by having the desire to use Flash content for UIs or whatever, and still get the highest performance possible as any layering support will likely require some sort of degraded Unity performance or even outright pausing.
     
  12. Deleted User

    Deleted User

    Guest

    The biggest existence proof that Flash support would be useful in Unity is the success of Scaleform. I have some experience with Scaleform, and though I haven't used it on every single engine it integrates with, it seems to me that they are all high-end/expensive/source-code-licensed systems which may also require you to license Scaleform (you can see on the Scaleform site the support forums are not open). And certainly none of the supported engines are web players. You can see from the Scaleform product page that it's not an exact Flash clone, either - note the CRI-based video solution and their own UI component library.

    I can't get into much more detail because I probably signed a Scaleform NDA, but I just wanted to point out that while Flash support, specifically Scaleform support, is increasingly popular in games (to my surprise - I remember a Renderware offering didn't do so well), it's currently at the high end with the burden of integration often placed on the developer. (You can download an eval SDK which gives you tips on how to integrate it with your game engine. In fact, if you have a source-code Unity license and also license Scaleform, you can do the integration yourself) Business-wise, I think it would be useful to advertise Scaleform integration when competing in that space, less so against, say, Torque. As a user, I don't care so much since I'm more interested in the iPhone and I don't think bloating the web player is a good idea until it's gotten more acceptance, but it would be a cool Pro standalone option. There are a lot of good Flash artists out there and that'd be a great way to utilize them.
     
  13. zumwalt

    zumwalt

    Joined:
    Apr 18, 2007
    Posts:
    2,287
    I don't think you understood my post. Not on top of but around. Flash supports displaying HTML content in it, flash can be any number of items on one or more pages, you have no need to use flash IN unity, but you can use flash With unity hand in hand, so again back to why try to bother embedding an ever changing medium into unity unless unity want to create there own flash decoder? There is neither a personal nor business use case for it.

    This is no different than me requesting thar unity support online asp I side of unity. To support flash you first must embed a browser, so why not embed ie? How about embeding firefox then safari inside unity. Then embed all of the video codec that go along with flash, then furher embd additional programs.

    Flash is a way to show client content via recorded scripts in timelapsed scenes, using image files, script files and soundbytes that already exist n unity you can duplicate anything you can do in flash already.

    As far as 2d on 3d point I think you are getting at, this is already easily done, just because it is not in unity doesn't make it impossible, 3Impact does it, DarkGDK does it, truevision3d does it, Aurora does it and so does EBasic, so I have to still agree with the posters that ask why bother?
     
  14. Decept404

    Decept404

    Joined:
    Apr 29, 2009
    Posts:
    23
    "To support flash you first must embed a browser" Huh?

    And the notion that you can do whatever you want to do in Flash in Unity already is ridiculous. Flash absolutely trounces Unity for GUI, while Unity is a lightyear past Flash in performance and visual fidelity. Things like pixel-level bitmap manipulation and blitting to render textures seem nigh impossible to do, which would have gone a long way towards letting us circumvent UnityGUI altogether if we had a choice.

    I suppose i give up. ScaleForm is indeed pretty highend, but i assumed it was a good precedent, and its popularity should be a good indicator of how popular a flash-driven solution is on the GUI front.

    Regardless, I strongly urge Unity to look into a serious GUI system overhaul. The forum is riddled with questions from users meeting the wall in terms of what the system will allow for, which is down to such basic things as masked curved progress bars, and i sincerely hope the next version of Unity will make some broad changes that allow for such basic things without having to resort to multicamera hacks (which in return royally screws up fullscreen render effects). I'm not actually a slave to the Flash platform, but some important lessons can be learned from how it handles interactive graphics from a developer perspective.

    For now, wrapping the unity player in Flash chrome is as close as we'll get, and it's not actually a bad solution for a lot of games. We are building an RTS-style game that is quite happy with external GUI for the most part.
     
  15. HiggyB

    HiggyB

    Unity Product Evangelist

    Joined:
    Dec 8, 2006
    Posts:
    6,183
    Don't give up! :)

    I've already stated here and elsewhere that we're keeping an eye on if/when to implement some form of Flash support and that we're most definitely keen on continued advancement of our GUI toolset. So no reason to give up, it's on our radar, we're hearing folks and meshing that feedback with our own ideas in order to keep moving Unity forwards.

    As always, this chatter is great and all but if you've note done so already, go use your voice here:

    http://feedback.unity3d.com


    :)
     
  16. Deleted User

    Deleted User

    Guest

    Regarding Scaleform, I should add that besides requesting an eval SDK, you can try it out in games that have it integrated and support modding, e.g. the CryEngine games - doc is scarce but whatever's available is on http://crymod.com/ (the same is true for my client's product, http://www.bluemarsdev.com/ but you have to sign up as a developer)
     
  17. Deleted User

    Deleted User

    Guest

    Not that I'm trying to drag out this thread, but I just ran across this embeddable browser

    http://princeofcode.com/awesomium.php

    which looks pretty good, at least in the videos, and has Flash support in the Windows version. This guy also has a separate Flash library for use in Ogre.
     
  18. EducaSoft

    EducaSoft

    Joined:
    Sep 9, 2007
    Posts:
    650
    Any followup on this ?

    Is there possibility of flash integration or something alike in the next version of unity ?
     
  19. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,601
    Thats something we will see when they start to talk about Unity 3.0 I guess :) (who knows, chances are there as the GUI requires another overhaul to work nicely and performant)
     
  20. EducaSoft

    EducaSoft

    Joined:
    Sep 9, 2007
    Posts:
    650
    Hehe so it depends on if 2.6.1 will be succeeded by 2.7 or by 3.0 :)
     
  21. HiggyB

    HiggyB

    Unity Product Evangelist

    Joined:
    Dec 8, 2006
    Posts:
    6,183
    Flash support, if it comes, would not be something found in a minor dot-release update as that's the sort of feature that involves enough work to warrant major update inclusion (ie version 3.0, version 4.0, version 5.0, etc.). Again, I'm not committing to this in any way, just saying that you shouldn't expect it in a minor dot-release update (like anything 2.x).
     
  22. biribe

    biribe

    Joined:
    Dec 4, 2009
    Posts:
    3
    First off, I'd like to start by saying I work for Scaleform so my opinion is certainly biased towards seeing Flash support in Unity using our technology.

    Technically it's totally possible and would run Flash inside of Unity *very* fast! The same way Scaleform/Flash is being supported in the leading 3D engines and games now - hundreds in fact.

    There are several approaches:

    1. Integrate Scaleform's C++ Flash player as is, the same way we've integrated with Unreal Engine 3 (UE3), Gamebryo, CryEngine, and most AAA game developers have done in their own engine.

      However, to make this happen Unity must partner with Scaleform and agree to add Flash as a module so it's always available in the web player if needed.
    2. Scaleform's C++ Flash player is ported to C#, allowing it to be used inside of Unity without requiring any special business cooperation between Scaleform and Unity.

      It would run slower because of Unity's C# runtime... but probably only 50 to 75%, worst case 2x. Considering Scaleform's player can run hundreds of times faster than the standard Adobe player, a small performance hit for C# isn't bad at all.
    From a purely technical stand point, I actually prefer the second approach since it would allow the Scaleform Flash player to run inside any C# environment, including Microsoft XNA and .NET. However, certain parts such as embedded video and audio would require special integration with Unity... still possible just a bit more work.

    Ideally, we'd like to partner with Unity to make this happen. We continue to have great dialog with the Unity folks about the potential partnership, but neither company has the resources to make it happen at the moment.

    We estimate that it's about 3 to 6 months of work for one super senior C# wizard.

    I'd say we've almost received enough requests for Unity and .NET C# support to justify going with option #2 ourselves, but we'll need to find the right engineer. If you're interested please contact us info@scaleform.com.

    Regarding Flash support, Scaleform is almost fully compatible with the Flash 8 (AS2) standard and will be adding Flash 10 (AS3) next year, so any claims otherwise are not accurate.

    Finally, I'd like to add that everyone at Scaleform is *very* impressed with Unity both their technology and team. Keep up the great work guys!!

    -- Brendan
    www.scaleform.com
     
  23. EducaSoft

    EducaSoft

    Joined:
    Sep 9, 2007
    Posts:
    650
    ok @ Tom and Brendan

    Its always nice to hear that its not a 100% NONO. If its not for a dot release... I can very well understand.

    Brendan, did you mean by last post that scaleform will be able to playback Flash10 AS3 content with the own playback engine and not using Adobes engine ?


    Regards,

    Bart
     
  24. biribe

    biribe

    Joined:
    Dec 4, 2009
    Posts:
    3
    Yes, Scaleform is 100% its own code base and does not use any Adobe or other third party code, which is why we could potentially port it from C++ to C# for Unity and .NET without any licensing issues.

    Scaleform GFx 3 supports Flash 8 (AS2) now.

    Scaleform GFx 4 will support Flash 9/10 (AS3) around mid/late 2010.

    Again, we're actively investigating and discussing the options both internally and with Unity. However, much like Unity and other small independent companies, we are very resource constrained right now. We'll certainly let the Unity community know if/when that changes.

    The main point is, technically it's absolutely possible to support very fast tightly integrated Flash playback in Unity. Since we tessellate Flash into triangles, we can simply render by calling Unity's 3D graphics API.

    We can even support 3D Flash in Unity like Dead Space, which is something we're adding to other 3D engine integrations now.
    http://www.youtube.com/watch?v=xLF0DjFF9yo

    It's also possible to tightly bind C++, C#, or JavaScript to Flash ActionScript and Flash objects, delivering a very powerful programming model. We're starting to do this now with other engines.

    -- Brendan
    www.scaleform.com
     
  25. Kenney

    Kenney

    Joined:
    Dec 7, 2009
    Posts:
    2
    I vote YES for Flash support in Unity! I currently have to make a pretty advanced GUI (MMO like) and it would take me minutes in Flash while it would take hours upon hours in Unity. I'm an experienced Flash developer and know all the ins and outs so it would be a waste to first learn a whole different language I'm not comfortable yet while Flash importing is not that difficult to integrate (thanks to Scaleform).
     
  26. Checco-Esimple

    Checco-Esimple

    Joined:
    Feb 14, 2008
    Posts:
    82
    Hi Brendan,

    I've read your consideration about Scaleform and Unity integration... and I've applied for and evaluation.

    I've got access to developer area of Scaleform's website, but I haven't found any example or documentation about unity integration.

    Do you know if there is something to read or to use as a quick start? let us know.
     
  27. Deleted User

    Deleted User

    Guest

    I haven't looked at the Scaleform developer site in a while, but you should find there general documentation on how to integrate Scaleform in an arbitrary game engine. Nothing Unity-specific. And they respond very quickly to questions on their forum.
     
  28. ugur

    ugur

    Joined:
    Jun 3, 2008
    Posts:
    692
    I´d welcome vector text and animation support in unity a lot and i posted my views in a few threads on the forum already ( like here http://forum.unity3d.com/viewtopic.php?p=240896#240896 ) =)
    My only worry is that unity could somehow become dependant on or too close to Adobe in other way and that would be the worst possible scenario for unity in the long run in my eyes.
    As many others here i´m a long time flash user and very disappointed with many decisions Adobe has made over the last few years (like again now with their very shallow very half baked flash to iphone deploy solution) so unity getting too close to them is no good in my eyes.
    But if a vector text / animation solution can be done, no matter if by incorporating scaleform or brewing up a different solution without relying on Adobe that would be great.
    In either case welcome to Brendan and congrats for the supportive and informative posts.
     
  29. HiggyB

    HiggyB

    Unity Product Evangelist

    Joined:
    Dec 8, 2006
    Posts:
    6,183
    FWIW, us adding "Flash support" doesn't mean we have to cozy up to, and share decisions with Adobe. By saying that I mean we could go with a third party solution here, or use the legit Flash player and the only dependencies are in that feature area. But this is exactly why we're hesitant to go this route as a replacement for other tools/features in our core product. So things like UnityGUI will continue to be driven forward on their own so we have our own built-in solutions while in parallel we can look at things like Flash support in a way that doesn't introduce it as a key lynch pin feature in any way. :)
     
  30. ugur

    ugur

    Joined:
    Jun 3, 2008
    Posts:
    692
    great :)
     
  31. God-at-play

    God-at-play

    Joined:
    Nov 3, 2006
    Posts:
    330
    All I'm looking for right now personally is just being able to support vector shapes so we don't have to convert to polys if we want smooth, organic shapes.

    Is there a solution in Unity right now that supports vector shapes? I'm having a hard time finding anything in a search.
     
  32. HiggyB

    HiggyB

    Unity Product Evangelist

    Joined:
    Dec 8, 2006
    Posts:
    6,183
    Unity doesn't yet offer support for vector based images at all, you'll have to rasterize them as bitmaps and use those instead.
     
  33. Deleted User

    Deleted User

    Guest

  34. sendel76

    sendel76

    Joined:
    Mar 17, 2010
    Posts:
    36
    Has something changed about this scaleform discussion? There was a sneak preview for flash export recently - so scaleform will be supported soon?
     
  35. design3

    design3

    Joined:
    Jun 20, 2011
    Posts:
    87
  36. Dreamora

    Dreamora

    Joined:
    Apr 5, 2008
    Posts:
    26,601
    flash export has nothing to do with scaleform at all, they are not even connected. scaleform is to run some of the flash content in gpu accelerated forms within 3d engines, flash export is to get a molehill targeted flash build of your game.

    And I agree with design3, I expect it to be an addon buyable through autodesk for standalone win-osx with some luck mobile, that you have to license per project under the normal game industry middleware terms (or worse in share-idiocity as the share model will be the thing thats going to kill indies)
     
  37. Sam Gage

    Sam Gage

    Joined:
    Jan 21, 2012
    Posts:
    10
    There are several vector solutions in the asset store for under £50, all of which can be integrated into the many cheap GUI solutions on offer.
     
  38. reveriejake

    reveriejake

    Joined:
    Jul 8, 2007
    Posts:
    819
    Mind the dates. That was posted back in 2009!