Unity and the On-Ramp to the OpenSim Metaverse

We have been looking at how best to solve "the viewer issue" for our Virtual Online Experience (VX) Areas using  our OpenSim grids.  I wanted to share an update on where we got to so far with using Unity as a potential solution/toolset.

We have been working on this test now for about 4 months and results are very promising.  (Stay Tuned or RSS'd: also here as we will post the running Unity test shortly so you can see for yourself how it really works. )

Unity + OpenSim Test Results = A Good On-ramp Now

My initial view is that Unity is a very serious option. It works with OpenSim. We can use our OpenSim content without having to rework it at all. It is also really different from a Web App like the SL-viewer--and that is both good and bad. Unity isn't trying to be that big a solution, but is more of a toolset.

I think in the short-term Unity can provide a great on-ramp to our amazing King Tut, Stonehenge and other content-rich virtual online areas. Many more people will take a look at our stuff, if all they need to do is click a web page and get into it. This way they will know what they are missing--from tasting what is out there in the richer experience.

Further, we should be able to do a lot more exciting stuff than the poky 2.5D Farmville areas (ok poky olé Zynga  is worth $5 Billion = a lot more billions than WoW). Which is one of the reasons why game-gurus like Ralph Koster say "you will have to be on Facebook even if you don’t want to be." We should be able to engage users as well as have a more accessible entry point from both browser and Facebook.

Is Unity the basis for a robust, 3D immersive viewer? Dunno atm, and maybe that doesn't matter either as something like WebGL is perhaps the ultimate nirvana on this topic anyway and all we need to do is wait around a few years for that to be usable? On the other hand, Unity also supports iPhone (until Apple either flashes them out or buys them) , so that opens up a lot of options for repurposing assets into premium content. And in the web, who has time to wait around?

The first objective was to present existing OpenSim content in some useful way inside the browser.  The graphics are quite close to what we get via the SL 1.23 viewer.  As the physic are on the Unity client, the performance over the web is very snappy by comparison.

Unity + OpenSim How It Might Work

In general the Unity viewer can be connected to an OpenSim region just like an SL-compatible viewer. It needs a bunch of modules to deal with the content as well which is where the dev effort was needed. That is the part we are still working on. Unity reads mesh information so the prims need to be converted.  For our test we have generated a static scene from a Region, but in future that could be dynamic.

Of course the interesting part here is that visitors using a Unity viewer and visitors using a SL-type viewer can actually be in the same region at the same time. I can see how we could also connect iPhone users to the same region.  The user experiences will be different depending on the viewer and connection, but the real-time social will be delivered. For example people could do sort of quests together regardless of how they connect to the content and then we could send status and badges over to Facebook.

I think we could be (finally) heading toward the heterogeneous avatar environment envisioned in Snow Crash's metaverse area the Street. This area for those of you un-initiated, sorta like the Matrix, has levels of realism, interaction based upon how the users connect. It breaks the constraint of the lowest common dominator and opens more interaction across more people. This is a major hurdle for market adoption today (see my notes on top 5 issues here).

Next Set of Unity + OpenSim Issues to Look At

Our prototype/test covered the presentation of prims and sculpted prims and results looks good. Our next wave will work on things like: Avatars, scripted interactions, pushing into Unity strengths, improving lighting as well as connecting up things like chat, IM, user log-ins.

One of the big opportunities is to be able to use mesh objects directly with Unity. From a content creation side this is a huge lift in productivity and photo-realism capability.