Virtual World Framework
JavaScript Python HTML Ruby C CSS Other
Latest commit 49d3f90 Feb 20, 2015 @allisoncorey allisoncorey Merge remote-tracking branch 'remotes/origin/integration'
Failed to load latest commit information.
documents Add functionality to save and load from separate directory structure. Aug 7, 2013
lib Calculate the correct application component URL for components in "/". Feb 19, 2015
public Merge remote-tracking branch 'remotes/origin/development' into integr… Feb 5, 2015
support Update version and changelog for 0.7.0 release. Feb 20, 2015
test Node.js Server parse driver-specifying url parameters. Add casperjs t… Jan 27, 2014
.gitattributes Automatically normalize line endings on checkout and commit. Dec 17, 2012
.gitignore Add a sound driver. May 23, 2014
.gitmodules Switch to JSDoc 3. Feb 5, 2013 Merge remote-tracking branch 'remotes/origin/development' into integr… Feb 20, 2015
Gemfile Update gem versions for compatability with Jan 8, 2015
Gemfile.lock Update gem versions for compatability with Jan 8, 2015
LICENSE Normalize files still containing CRLF line endings. Dec 17, 2012 Improve README. Mar 14, 2014
Rakefile Add rake test runner for new casperjs server tests. Dec 6, 2013 Stop adding the GA code to the site. Feb 28, 2014
init.rb Add ability to save vwf state to file in current directory, either by… Jan 9, 2013
node-server.js Update documentation link for 'vwf create' command that points to Get… Feb 19, 2014
node_vwf.js Updated spacing Feb 11, 2014
npm-shrinkwrap.json Update shrinkwrap with the new modules. Dec 16, 2013
package.json Implement `vwf create` and add mocha tests. Dec 16, 2013
vwf.bat Remove unnecessary calls to cmd.exe in vwf.bat Mar 13, 2014

Virtual World Framework

The Virtual World Framework (VWF) allows you to build collaborative, immersive applications in the browser. VWF provides:

  • Realtime state synchronization.
  • Support for immersive applications - a set of drivers for 3D, audio, video and modern graphics.

VWF applications are written in JavaScript and leverage emerging web technologies such as WebGL, WebRTC, and WebSockets to provide a full 3D environment that is automatically synchronized across clients.


Install on Mac/Linux

NOTE: On Mac OS X, please make sure you have Xcode Command Line Tools installed prior to executing the script below (

$ curl -kL  | sh

This command may be re-run to upgrade the installation to the latest version of VWF.

Install on Windows

  • The Windows Installer has temporarily been taken down for maintenance. In the mean time, follow our Installation Instructions.

For more complex installations, such as working on VWF core, please see our Installation Instructions.

Quick Start

Create a new VWF application from the command line.

$ vwf create my-app

Change directory into that app and run the application.

$ cd my-app
$ vwf

Your application is now up and running at http://localhost:3000.

To get started with VWF, check out Getting Started.


For examples, check out our demos.

Also, browse through other example applications in the public directory.


Our development process utilizes several branches:

  • Build Status master - Stable release of VWF. Running on
  • Build Status integration - Integration testing features from development before merging into master. Running on
  • Build Status development - The latest development and new features of the framework. Running on
  • branch/feature-name - Feature development is done on a feature branch before being merged back to development.

When submitting a pull request, please use the development branch.

Also, please be sure that your pull request conforms to our Coding Standard.


Keep track of developments and get help with VWF.

  • Discover an issue? Head over to Issues and report it.


Copyright 2014 United States Government, as represented by the Secretary of Defense, Under Secretary of Defense (Personnel & Readiness) licensed under the Apache 2.0 License.