5 reasons not to rush to Unity from OpenSim

Update: Please people, stop linking to this post! Unless you are actually an OpenSim user this is not relevant to you at all! This article is about a very, very, narrow niche use of Unity that’s only relevant to a small handful of people. I understand that Unity is not a virtual world platform, that you can’t compare it apples-to-apples with OpenSim, and that it has a lot of great uses. In fact, there are ALSO cases where you’d want to switch from OpenSim to Unity, and I covered them in my previous post: 5 reasons to rush to Unity 3D.  Again, if you’re not an OpenSim user, this is not for you.

Yesterday, I wrote up 5 reasons to rush to Unity 3D (with an extra bonus reason).

Yes, the platform is technically advanced and easy to use, great for marketing and business applications — but Unity 3D and the virtual world platforms built on top of it — ReactionGrid’s Jibe and Second Places’ Unifier — aren’t for everybody.

John Brouchoud’s architecture build in Unity 3D.

Here are some possible reasons to stay away:

1. These are proprietary platforms. There are people and organizations who prefer to bet on open source software — because of cost, or because they can adapt it to their own needs.

2. You’re stuck with one vendor. You can’t move a Unity scene to, say, Flash or HTML 5 and WebGL without recreating it from scratch. And you can’t move a Jibe environment to Unifier without re-importing all the original constituent meshes.

3. You need to have meshes. That means having professional designers create your content. Free items from the Google Warehouse or individual objects bought in online mesh stores will only take you so far. A school won’t be able to have its students and teachers to create what they need for their classes — unless they’re part of a 3D design program.

4. You can’t build stuff in-world with your friends or colleagues. And you can’t go into a scene and re-arrange everything in it as you need to. This functionality might come in time, but today, if you need a room that rearranges itself, you will need to script that behavior.

5. There’s no grid. Instead, Unity-based worlds are composed of individual scenes connected by teleport portals — you can’t walk from one scene to another, or fly above them and see them spread out under you, like you can on a grid. And since any scene can be connected to any other scene it make it difficult to build up a mental map of the world if the designers aren’t careful. For example, a door into a building can be a portal to another scene — so that the building interior is bigger than the outside. That can be handy for the designers, but confusing for visitors.

Of course, there is no reason at all why a company or school can’t have both an OpenSim grid or Second Life regions and a Web-based, Unity 3D environment.

In fact, Tipodean has a product to convert OpenSim regions to Unity scenes. (Watch video by Ener Hax below of a visit to a region converted from OpenSim to Unity.)

The Second Life or OpenSim environments can be used for internal collaboration, and the Unity-based scenes for external marketing, for training, or for quick and easy business meetings.

Of course, Unity isn’t the only option for Web-based virtual environments. If you need a place to hold business meetings or marketing events that’s readily accessible via the Web, consider trying out  VenueGenAvaya’s Web.aliveAssemblive and 3DXplorer. All start at around 50 dollars a month, and don’t require users to download and learn standalone virtual world software.

maria@hypergridbusiness.com'

Maria Korolov

Maria Korolov is editor and publisher of Hypergrid Business. She has been a journalist for more than twenty years and has worked for the Chicago Tribune, Reuters, and Computerworld and has reported from over a dozen countries, including Russia and China.

  • Thanks Maria! I've spent a fair bit of time in both worlds, so I'd like to add a few comments here.

    1. "There are people and organizations who prefer to bet on open source software" True. If your organization has the ability or resources to adapt and customize open source software around their project, then OpenSim or WebGL might be a better fit.
    2. "You’re stuck with one vendor." You're definitely not stuck with one vendor by virtue of using Unity3D. True, you may have to re-import your assets from one build to another, but that's as easy as copy and paste. There are built-in 'Unity Package' systems you can use for this, and other ways of simplifying the process. I'd actually call this an advantage of Unity – the ability to quickly and easily copy, paste and publish your content into a wide variety of destinations instead of being stuck in one place..
    3. I love building with prims, and the SL marketplace is a great way to populate a scene in Second Life with a very limited budget. But I would also argue that there is plenty of mesh content out there – some free, some for sale – that can be used to populate a Unity scene almost as quickly, and on a very low budget. As far as students and teachers creating content, I wonder… side by side, imagine we have 2 complete newbies. You take one through account registration, orientation, and the basics of the primitive modeling system in SL or OpenSim, then have them build a simple 4-walled room. I'll have the other newbie open SketchUp, have them build the same room, then drag it into a Unity scene. I'd bet 10 lindens I can get the SketchUp newbie walking around that room in almost the same amount of time. It all depends on perspective. If you've already invested in learning prims, the paradigm-shift will take some getting used to. I'm not saying mesh or Unity is better than working with prims in OpenSim or SL – I'm just saying that there isn't the vast disparity in the learning curves some would have us believe.
    4. There are quite a few 'in-world modeling tool' systems being developed for Unity, but SL and OpenSim definitely win for collaborative building, no question about it. As far as re-arranging content goes, you *can* go into a scene and re-arrange everything in it as you need to in the Unity editor, and it's actually pretty easy to do. Again, I'd like to imagine 2 total newbies… you take one into OpenSim, I'll take the other into Unity. I bet they'll both be able to learn how to re-arrange their items in about the same amount of time.
    5. You could have a grid in Unity if you wanted to, and some people do connect their content into grid-like builds. It's just that clicking a URL to jump from one Unity build to another the same way you switch from one web page to another is pretty efficient and easier for many people to understand. In theory, we could connect all of our websites into one vast, strolling stream of content, but we don't.

    I agree with you that any organization can enjoy the best of all worlds. There are aspects of SL and OpenSim that Unity (or any other platform) will likely never beat, and I enjoy working in those worlds, and building with prims, as much today as I ever have. But Unity does have distinct advantages worth careful consideration, and should be on everyone's radar as a means of augmenting your content, or making your work much easier for people to quickly access and explore.

  • It is worth mentioning that Unity are working actively to enable Flash 3D (molehill) export as one of their build targets. This ability to generate for standalone clients, Unity browser plugin, iPad client, Android client, PS3 client, and soon Flash 3D client is one of the huge advantages of Unity – something that OpenSim / SecondLife would benefit hugely from. But as has been said many times, it's comparing two different things. Unity vs Secondlife / Opensim is simply not a valid comparison.

  • dang, point two is massive and i had not given that any thought! now i understand why there was an explosion of "vendor lock-in" posts and comments lately!

    for me, that point brings up the pain of moving out of Second Life – something i don't want to repat anytime soon

    i'll stick to OpenSim and it works great for what we are building (and also for what David does with it – rapid eLearning development – making video for scenario-based training)

    thanks for listing these reasons – my foray at looking at Unity was very shallow (Maria likes pushing Ener into the deep end!) =D

  • Ener, point 2 is completely wrong and very misleading. Read the comment from Jon and Neil, I am also happy to talk to anyone about it. Using Unity3d actually gives you the complete opposite of what Maria has written in point 2.

  • Chris — If you have a basic Unity scene, you can upload it to both Jibe and Unifier. But both Jibe and Unifier add things that are beyond what Unity offers — otherwise, why would people pay extra for their products? And these additions are proprietary. You can take a Unity scene and put it up on your website, or get someone else to host it for you, but you can't move an entire Jibe world or Unifier world over to another vendor — as far as I can tell.

    And if you have a Unity scene, converting it to another format — say, to OpenSim or 3DXplorer or OpenWonderland — requires that you export the individual mesh objects and re-import them. You can't move the entire scene over.

    And, in general, the more of a vendor's features you use, the more locked in you are. For example, if you write a simple document in Microsoft Word, you can export it as a text file, which can be read anywhere. If you add formatting, you can export it as an RTF (rich tech format) or HTML format file, which can be read by a smaller number of applications. If you use more complex formatting, you can save it as a DOC file, which can be opened by OpenOffice and other programs that have support for Word documents. But if you use really new, complex features that aren't supported in other programs (some kinds of styles, macros, etc…) you will lose them when you try to move the document over.

  • so really what you are saying you would apply to every virtual world out there?

    To be clear when you are editing in Unity you use whatever program you want. e.g. for Mesh I use Blender or Maya, for C# I use Visual Studio, for images I use photoshop, for javascript I use…. etc. Does that make sense?

  • Chris —

    If you have an OpenSim region or grid, you can have it hosted by multiple vendors — just move the database or OAR files over.

    Similarly, if you have a WordPress site, you can host it with any of hundreds (thousands? tens of thousands?) of web hosting providers.

    A move takes only as much time as you need to pay for the new hosting, and download the files from the old host and upload the files to the new one (and forward your DNS servers, if you own a domain name).

    That's not true for all open source projects. For example, I don't know of any service providers that host Open Wonderland or Sirikata worlds.

    And some proprietary projects do have multiple hosting options — for example, some hosting providers use Microsoft Windows servers instead of Apache to run websites.

    So it's not necessarily a clear cut distinction between open source and multi-vendor and proprietary and single vendor.

    But all the proprietary virtual worlds I know of — ProtoSphere, VenueGen, Web.alive, Jibe, Unifier, Teleplace, 3Dxplorer, Assemblive — do not currently have mutliple hosting options. You're stuck with that one vendor that created the platform.

    For some customers, it's more than worth it — that one vendor offers a great product, at a good price, with good service, and is worth sticking with, then lock-in might be a non-issue. And, like you said, you can export individual mesh objects and use them to create a new world with a new vendor.

    But there's a price for vendor lock-in. Often, in the form of actual higher prices. You might also see possible interoperability issues – for example, there are no hypergrid teleports between worlds run by the different vendors, whereas you can hypergrid teleport between OpenSim worlds hosted by different companies.

  • No Vendor Lock-In is a clear cut educational requirement of the Immersive Education Initiative iED, which supports the final effort for an Education Grid "Create Once, Experience Everywhere"…

    Immersive Education Initiative iED > "Create Once, Experience Everywhere" http://mediagrid.org/news/​2010-11_iED_Create_O
    Video: http://www.youtube.com/watch?v​=cMhBiu0YJ3s

    Avoid “Vendor Lock-In” in the future http://en.wikipedia.org/wi​ki/Vendor_lock-in

    The Immersive Education Initiative today issued an open call for the first European Immersive Education Summit (iED Summit). Universidad Carlos III de Madrid will host the two-day iED Summit from 28th to 29th November 2011 in Madrid, Spain. http://mediagrid.org/news/2011-07_iED_2011_Madrid

    As Grid Operator (Utility Provider), if you seek Appraisal Ratings,
    check Capability Maturity Model Integration CMMI http://en.wikipedia.org/wiki/C​MMI http://en.wikipedia.org/wi​ki/CMMI#Appraisal

    CMMI addresses 3 integrated areas of interest:
    1. Product and service development,
    2. Service establishment, management, and delivery, and
    3. Product and service acquisition.

  • Item 3: VastPark.com enables cinema class rendering and in-world building. VastPark also complies with the educational requirements of iED as recognized partner of iED. But yes, they are proprietary, and also promote No Vendor Lock-In on their website.

    "In-world building" has frequently been voiced as "hard" educational requirement. "No Vendor Lock-In" is just as "hard" from the viewpoint of micro-economics and anti-trust regulations.

  • I think what you mean to say is that vendor lock-in applies only if you've enhanced your Unity3D project with an optional package like Jibe – not simply by virtue of building a project with Unity3D itself. For example, I can create a build with Unity3D, and host it wherever I wish.

    The distinction that needs to be made is that a product like Jibe isn't part of Unity3D itself – it's an optional package that makes it easier to build certain advanced functionality into your Unity3D build (like multi-player, avatar selection, etc.).

    If I take my Unity3D build (which can be published and hosted anywhere I wish – not locked-in anywhere), and add Jibe functionality to it, and lace a bunch of Jibe stuff into my build, then it would require some effort to switch that project from Jibe to another similar package. I personally don't find it terribly complicated or time-consuming, so I'm not sure it should be characterized as vendor lock-in, but so be it.

    However, the really important distinction is that this definition of vendor lock-in would apply only to projects you've decided to enhance with optional, add-on packages and plug-ins that are built on top of Unity3D – not Unity3D itself.

  • James —

    You're absolutely right, I totally forgot about that. Both VastPark and Teleplace have open source versions of their software, and at least one outside vendor each offering hosting. So if you have a problem with VastPark or Teleplace — bad service, or high prices, or just get tired of them — you can switch to another vendor.

    Or you can just download the software and run it yourself.

    Plus, I hear Teleplace is working on a Web-based viewer for their platform which will be available with the next release.

  • Jon —

    Unity 3D itself is proprietary software as well. But there's nothing wrong with that, as such, and even vendor lock-in isn't necessarily a bad thing.

    For example, we have a Wii in the living room. And a PlayStation. And an XBox of some kind. And there's a GameBoy around somewhere and other proprietary video game platforms as well. Each one only plays its own games. And every year or two, the kids make me buy them a new system. The fact that the old games won't work on the new system is irrelevant since they don't play the old games anymore (plus, we don't throw out the old machines — they just pile up). And whatever the hot new system is, they must have it because it's got the hot new games, the hot new controllers, or whatever it is this year.

    Proprietary systems typically offer a technological edge over open platforms. They don't have to wait for some committee to come to a consensus — the vendor just invents something and puts it out there. The investment is worth it because they can charge extra for their product.

    So if a new vendor comes out with a revolutionary new virtual world platform, your company might be ready to throw its old virtual campus into the dustbin of history and just start fresh with something cooler, faster, more immersive, etc…

    And, if course, it's not either-or. You can use different platforms in different contexts.

    Plus, over time, I expect to see greater interoperability between platforms. Virtual worlds that are completely incompatible today may well be partly or mostly compatible a couple of years down the line.

    After all, Microsoft Word and WordPerfect started out completely incompatible but over time their basic functionality began to converge and now each one will open standard documents created in the other system.

  • Maria,

    Please trust that I understand the differences between proprietary and open source software. 😉

    If the concern is that Unity could go out of business, and stop supporting their product, that's one thing, and worth considering. But that's not really what you're saying with point number 2. Your concern there is that you can't transfer a Unity3D project file to another platform, and all I'm saying is that the challenge also applies to every single virtual world and game development platform on the market – both open source and proprietary alike. Try transferring a project from OpenSim to VastPark, and tell me if it's any easier than transferring a project from Unity3D to Unreal.

  • Vendor Lock-In refers to 1st semester microeconomics and antitrust regulations, and how monopolies are broken.

    Legions of computer freaks have combatted Microsoft monopoly, and vendor lock-in for decades. It's surprizing to see that this zeal is not put forward in virtual worlds.

  • "It's surprising to see that this zeal is not put forward in virtual worlds."

    I think that's what OpenSim is all about, and I think it's fantastic. But this is still a frontier, imho, and I think there are plenty of solid use cases for enjoying the best of all worlds.

  • sargemisfit

    Reason #6

    It installs anti-piracy software without your knowledge or consent. http://excelsior-station.wikidot.com

  • LMF

    Where is the point of comparing a game engine with a virtual world?!? It’s like comparing a carrot with a stew…

  • A Righteous U3D Game Developer

    Yes you can move a unity project to flash and HTML5, you defiled swine! Where do you get your information? All the facts in this article are totally embarassing to us game devs, and particularly those with years of experience, to then be confronted by idiotic nonsense such as this. Please remove this article, or I will laugh at it like crazy and show it to all my friends…

  • A Righteous U3D Game Developer

    The type of content here is such written by someone who lets people piss on their face and tell them it’s raining…

  • G

    I think you should get a few facts straight before publishing such a thing..
    Unity is a GREAT tool, and its available for free, with a lot of free content and gives a lot of freedom for Indie developers, and even if you want to buy it, its really cheap in COMPARISON with other proprietary engines, you are diminishing the potential of Unity by comparing it with Second Life or similar, its much more powerful than that, and there are lots of plugins that aid the development. AND Open-Source VS Proprietary is a WHOLE different topic, its a matter of personal preference and it has an entire philosophy around it, you really shouldn’t mix Copyright/Copyleft flame/rage war with performance.

    • G

      You should start by saying What you Intend to do with Unity before throwing it Away, but in an Overall analysis, Unity is great Engine, you should get MUCH More specific before naming reason for not using it.

  • A Righteous U3D Game Developer

    To put this into context. Unity3D is used by the MOD for military training exercises. Who ever mentioned it going out of support is a plank.

  • sorry for posting in such a old topic but this came up in google search while i was looking for something else and very confused as to why you all think Unity 3D is a virtual world platform like opensim and second life.

    If you all go to unity3d.com you will see that it’s a game engine, NOT a virtual world platform. Even though it can be used for virtual worlds, the main focus for Unity developers is to make a engine and editor for game developers and make it easy to public those games onto anything from windows, mac, linux to consoles and mobile devices. It’s mostly used as a client side engine that stores and generates all the 3d models, npc’s and scripts. It does have networking that requires the developer(s) of a game to either create their own server code or “buy” prebuilt Unity supported server code from other developers.

    In short Unity 3D is NOT a virtual world thing like OS and SL, its a game engine to help developers make any kind of game.

    • Yes, Unity 3D is a pretty bare-bones platform, but several vendors have commercial virtual-world-like offerings built on top of it, such as ReactionGrid’s Jibe.

      • Mike

        Unity made for games not virtual world. It’s anything but bare-bones in game development. It has thousands of extra content people create to make it even easier to use. It’s very friendly to a complete beginner and free to use (paid version has more if you’re a serious developer but is not necessary to purchase to release a game). Virtual world development is not their target audience. So I do not expect them to have virtual world development in mind. Even though it can be done in Unity.

  • Bawenang Rukmoko

    This is an amusing article. Now try comparing Second Life or Open Sim with UDK or Project Anarchy.

  • C

    I stubbled across this on Google. Wish I hadn’t. Yet I feel compelled to educate you.

    Unity is “game engine” designed as a “tool” to create games. Its not, and never will be a virtual world software.

    Effectively you could recreate OpenSim within Unity if you wanted to waste your time, but thats besides your point. You really need to research into ( or get at least some kind of background knowledge ) before you write articles like this.

    “It’s like comparing a carrot with a stew” I’d agree.

  • Kiichi

    1. Bulshit. You have not arguments.
    2. If I use Unity I don’t need to port it on html5 or something else, Unity is ALREADY CROSSPLATFORM!
    3. Hm.. right..
    4. Errmm.. It’s developing tool! It’s absolutely normal that you need write code, it’s not 3Dmax or Blender or other graphical editors, it’s GAME MAKER!
    5. You don’t know technically part. You can use Application.LoadLevelAdditive for loadin’ next scene without unloading previous and manually unload old content.

  • Nikos

    Since Unity is a development tool it’s not expected to be able to move things in an executable without having scripted them(which is kinda the point of everyone trying to tell you it’s an engine not a virtual world platform with content from which to start making a world) but you can do pretty much anything provided you have the time to do them.

    Also Jibe is a commercial solution so migrating everything to host elsewhere(without getting their self-hosted-option package) is out of the question and even illegal.But they do have a self host option with the restriction that it’s just one compiled world that you can host elsewhere and not a world that can interact with all other worlds they host.Which is pretty reasonable since they offer quite a lot of services for you to use.

    For OpenSim you have found a way to use it and also I think it’s quite easy to connect a world built in Unity to it.Since OpenSim/Hypergrid is written in C# it can most definitely be hooked to a world build or edited in Unity.

    Again,it’s an editor and nothing more.You can’t expect it to have functionality that you’d find in a specific project.It’s like saying why can’t I move an object in a basic scene with the mouse if I can do so in the Editor before compiling it(hitting play in Unity’s case).You have to create such behaviour.So it’s quite reasonable that you don’t use it like that without resorting to commercial packages like Jibe.

    Bottomline is you can definitely do whatever you wish with Unity but you have to actually implement them or resort to commercial packages(whether it is a framework like Jibe or an self-implemented solution using bought components on the free Unity3D version).But don’t compare Unity to OpenSim or Jibe because it’s totally pointless.All the above solutions you mention are specific to virtual worlds and provide functionality for it.Unity is the tool they were build on(apart from OpenSim which is also C# based and has good compatibilty).

    Unstructured as it is I think it covers most major points.

  • Tyler

    Worst article I have ever read. The author makes ill informed points that are actually completely wrong and clearly has no idea what Unity is. Unity is a game development engine and it is free. I will never read an article on this website again.

  • Tom0

    I just stumbled across this during a google search, i know its an old article, but this just hurt my brain.

  • Kaare

    Unity is for noobs. Learn code before creating a game!
    Create it with OpenGL or create your own render from scratch! Don’t use that poor engine!

    • dean

      Why?? Theres no point in reinventing the wheel its just a waste of time.

  • seriously

    I dont think there’s a single bit of truth in this article…all the things said that you can’t do. You can. Has this person ever used a game engine before?

  • Marc

    How is that nonsense still on-line? o_O

    I came across this “article” thinking I might learn something but all there is is confusing and false statements about Unity, just because it doesn’t compare to whatever you fantasised it to be.

    Please, delete this article: it’s abnormally visible on Google and will hurt others businesses disorienting their clients.

    • I have no idea why Google keeps ranking this article high. Maybe it because people keep linking to it to complain about it?

      I’m writing here about a very very very narrow, niche use case of Unity and comparing it to OpenSim for that particular use case. I agree with all the positive things people have said about Unity 3D — and have a link to that article right at the top of this one. I know that Unity is a development engine, not a world, and that you can use it to build a world — and many already have. Jibe — again, mentioned right at the top of the article — is one such example!

    • Hi Marc i completely agree with you. As i have stated before on this article that Unity is a game engine, some still think its a new kind of viewer for opensim and second life so thats why Maria has left this article up.
      Someone within our gigantic community did use Unity to create a viewer that can connect to a opensim grid so thats why people refer to the engine as a viewer.

  • Mike

    This looks like a social experiment

  • zeeshan

    Unity 5 is free

  • Chris Cobb

    You’re completely wrong about pretty much everything you said about Unity…