It has been a multithreaded sort of a year, and the development of ICVR has seen a few twist and turns and a lot of updates, with our integrated VR framework seeing a first release at the start of August, and a second at the start of November.
For those unaware, ICVR is an open-source toolkit for building immersive canisters, built on Unity WebGL and WebXR. It is made of a few core modules:
- Controllers for movement and interaction
- Physics and interaction components
- WebRTC avatar and interaction sharing
- On-demand media using IndexedDB
Along the way, we made a few cansiters to show off what the framework is capable of:
The Island Collective __ deBunker ____ The Island Club ____ Island Bowling
The second release allowed for a much-simplified setup within Unity editor. In short, I discovered that you can make settings presets and load them into the editor. Even better, you can import dependencies with the click of a button. This means that, in a few simple actions, you are ready to create your first VR canister.
This release also saw Unity functions added around authentication (using II) and token transactions within the Unity scene - there will be more information on these in part 2. A quick spoiler though, that also requires no coding.
Check out this set of tutorials, given by my collaborator, Magic. In these videos, he’ll walk you through using his pre-made scenes, sculpting basic terrain, taking assets from the Unity Asset Store and has some tips on optimisation in Blender, when exporting for an ICVR scene. The final video is a long-form guide, looking at various aspects of optimisation and performance considerations:
Also in the repository, alongside some unitypackages, you will find documentation for all of the important C# classes, many of which contain usage notes and additional information. If you have any questions, suggestions or accusations, drop a comment below, or get in touch via Discord or X.
This takes you as far as the creation of a WebAssembly module, ready for deployment onto the Internet Computer. In part 2, I’ll be looking at the canister template that makes that happen. For those wanting to get a head start, you can find it here.
I cannot close this without giving a nod to DFINITY, who supported the creation of this framework with their grant program. Their hospitality is also spot on.