From Unify Community Wiki
Revision as of 23:58, 6 August 2009 by Aubrey (Talk | contribs)

Jump to: navigation, search

The Whirld project aims to create a simple, elegant, standardized world format - complete with supporting libraries - for utilization by Unity games. Whirld worlds are a somewhat similar concept to asset bundles - but being an open format, they will not need to be created using the Unity editor - allowing them to be vastly more useful in a variety of scenarios.

The Whirld Project was started by Aubrey Falconer, and contributors will be listed here.



  • Being an (unofficial) community standard, this project will dramatically increase the value of existing and future Unity games by providing them with a near infinite variety of ready made Whirld compatible worlds created by various game communities.
  • Being open and free, this project will inspire innovation in the next generation of developers: the ones who are currently playing games. What better way to interest creative minds in game development than by providing them with a free toolset to create their own worlds for their favorite Unity games?
  • Being simple and easy to use, this project will encourage the development of Unity games. Imagine the excitement of dropping a library into your Unity project, and instantly having access to a huge variety of ready made worlds!

Current Status

* Unity Whirld library is now available: » Download Unity Whirld Library 1.0

This is "Alpha quality" software, and it comes with no documentation - or guarantee that it won't erase your hard drive. DO NOT USE it in any projects that you are afraid to loose!

After opening the Whirld package in Unity, you will see several new folders in your project:

  • The "Whirld" folder contains all the source code for the various Whirld tools
  • The "Resources" folder contains a collection of prefabs and other fun things that you want to be available for instantiation in your game
  • The "Resource Sources" folder contains the assets that were used to create the resources.

To take the Whirld library for a spin, click the "Assets > Whirld World Tools" menu to open the Whirld editor panel. In the panel; enter a world file URL, (optionally) specify a default material for world objects, click "Load World", and a game world will be downloaded off the internet and generated in your scene! Important: The Whirld library generates it's worlds inside a GameObject in your scene called "World". If there is already a GameObject with this name in the root of your scene, it will be overwritten. Here are some simple BZW worlds to test in the Whirld panel:

If you are feeling really adventurous, you can also try loading worlds through scripting - which is accomplished with the following JavaScript code: <javascript>var whirld : Whirld; whirld = new Whirld(); StartCoroutine(whirld.LoadWorld(WorldURL, WorldFormat));</javascript> You should be able to find out how to access everything the Whirld library offers by examining the source code of the WhirldWindow.js Editor Panel script.

Don't be discouraged if you feel that the current sample worlds are a bit simplistic. Once a custom Unity world format has been defined and implemented, the sky is the limit when it comes to the amount of detail Whirlds will be able to express!

* Sample Whirld enabled game is online: » Play Mars Explorer 1.99

You can see the current library in action loading simple worlds inside Mars Explorer.

Development Phases

  1. Define the world format: This phase involves researching existing game world definition formats, and combining the best practices of each into a simple, flexible, cohesive standard to be utilized by many different types of Unity games.
  2. Create the library to load worlds: This library will be included in published games, and will be able to generate primitive shapes, meshes, terrain objects, game specific prefabs, etc in a scene from the data contained in a world file.
  3. Create a system to export Unity scenes as worlds: The inverse of phase 2, this system will be an editor script to export a Unity scene to a world file.
  4. Create systems to build worlds outside the Unity editor: Plugins for popular modeling applications such as Blender, or even a complete world design application written in Unity are all within the realm of possibility! This phase is where the communities of Unity games transition from passive consumers to budding creative developers - increasing the value of Unity games, and at the same time enriching their own lives.


Personal tools