Aug 2
Janus VR - Aussie
The changes in v59 represent a few months of work (the longest time between releases yet!) The most notable change in v59 is a UI rewrite.

In this update, we broadly consider two major use cases: (1) a “user in VR”, potentially a novice, who expects basic functionality for navigation and interaction and (2) a “builder outside VR”, a creative person looking to create immersive web experiences using Janus who expects a user experience similar to traditional graphics software (e.g. Maya/3DSMax/Blender/Unity/Unreal).

In the version 59 update, we take some major steps for addressing these two fundamental use cases. And there are also a pile of other specific features and additions we've made, many of which are major-release worthy on their own!

More documentation to come, describing all the new functionality in more detail (we are also doing a lot of updates to the site to add new documentation and keep things current).

Major highlights:
  • New GUI!
  • Social pane
  • Navigation pane
  • Code editor pane
  • Assets pane
  • Room object pane
  • Properties pane
  • New settings window
  • Easy/intuitive access to common operations via Ellipsis "..." menu (Save and save screenshots, Settings, Bookmarks/Workspaces, etc.)
  • “AssetRecording” Asset type (room-wide recordings are now possible - and drag and droppable even!)
  • “rotation” and “rotation_order” attributes (Eulerian rotation support, this has been asked for forever!)
  • JML Importer (import entire Janus environments into a space)
  • New and improved Drag and Drop functionality (from browsers or explorer, portals, …)
  • Improvements to Ghost userid/chat
  • Private websurface manager (~ [tilde] to add, shift+~ to remove, ESC to hide)
  • VR controls simplification
  • FPS improvement for “equi” render mode
  • New JS Vector functions (copy, scale, add)
  • OSVR integration
  • Initial Enflux integration
  • “party_mode” room attribute (can declare in the room markup whether it should be a "private" space or not - we use this attribute for some of our own meeting rooms)
Apr 30
Janus VR - Aussie

Big thank you to all the users who sent in bug reports, dropped by the Discord for a chat or sent us feature suggestions - we appreciate it a lot and have included as many changes as we could in this update, more improvements to come, we have only just begun.


A fantastic library that abstracts so many geometric formats, providing us a generic intermediate data structure. We hugely broaden our geometric format support to a much wider variety of formats! (And like us, they too could have picked a better name. They are German though and apologise for the name for this reason - all of us at Janus speak English and have no excuse!)
We now support glTF 1.0 through this lib, and are looking forward to (and would be happy to contribute to) 2.0 support! Geometry transmission standards for the web - YES!

COMMON INTERCHANGE FORMATS Autodesk ( .fbx ) Collada ( .dae ) glTF ( .gltf, .glb ) Blender 3D ( .blend ) 3ds Max 3DS ( .3ds ) 3ds Max ASE ( .ase ) Wavefront Object ( .obj ) Industry Foundation Classes (IFC/Step) ( .ifc ) XGL ( .xgl,.zgl ) Stanford Polygon Library ( .ply ) AutoCAD DXF ( .dxf ) LightWave ( .lwo ) LightWave Scene ( .lws ) Modo ( .lxo ) Stereolithography ( .stl ) DirectX X ( .x ) AC3D ( .ac ) Milkshape 3D ( .ms3d ) * TrueSpace ( .cob,.scn ) MOTION CAPTURE FORMATS Biovision BVH ( .bvh ) * CharacterStudio Motion ( .csm ) GRAPHICS ENGINE FORMATS Ogre XML ( .xml ) Irrlicht Mesh ( .irrmesh ) * Irrlicht Scene ( .irr ) GAME FILE FORMATS Quake I ( .mdl ) Quake II ( .md2 ) Quake III Mesh ( .md3 ) Quake III Map/BSP ( .pk3 ) * Return to Castle Wolfenstein ( .mdc ) Doom 3 ( .md5 ) *Valve Model ( .smd,.vta ) *Open Game Engine Exchange ( .ogex ) *Unreal ( .3d ) OTHER FILE FORMATS BlitzBasic 3D ( .b3d ) Quick3D ( .q3d,.q3s ) Neutral File Format ( .nff ) Sense8 WorldToolKit ( .nff ) Object File Format ( .off ) PovRAY Raw ( .raw ) Terragen Terrain ( .ter ) 3D GameStudio (3DGS) ( .mdl ) 3D GameStudio (3DGS) Terrain ( .hmp ) Izware Nendo ( .ndo )

Including skeletal animation support for applicable formats. Assimp animation support improvements loading FBX files

Keeping with the social VR times, we acknowledge not everyone wants to press a key or commit to a gesture to speak. In release 58, we've added a threshold-based option for voice communication - simply speak loud enough - and your audio will be communicated to others!

Added new ability to set mic as always-on (thanks /u/cruzjj !) Detect audio activity when mic always-on setting is used Allow user to set mic sensitivity; Use keypress to override mic sensitivity

We connected with some of the team at Enflux, who are very open and great to work with, and we're happy to announce an integration with the Enflux library which supports the shirt/pants kit on our Windows build. Bring on the future with virtual clubs where DJs and dancers have bodies tracked and live performances are brought into the Janus experience!

Check them out at

New Reddit translator code (check out he new room coutesy of FireFoxG)

Added OSX support for PDFs

Improvements to colour support, allow setting alpha with R/F keys in edit mode - Colour support. Use CSS(3) or anything modern? Then beyond #rrggbb (and its variants) you may be familiar with functions like rgb/rgba/hsl/hsla to specify colour. Well as of release 58 Janus (the client/markup language) now support those as well! Cycling through hues is cool. It's ke-hue-wl.
Can now hold shift while pressing ctrl+V to copy orientation
Documentation has been updated and changed to reflect feedback from users including an updated and expanded FAQ

The Bugfixes

/u/NXT_Aussie suggested we try it this way - all the messages from git commits. I told him just give the highlights, he thinks it's riveting. "Aussie: nah your struggle amuses me - give me candy" haha! (If you want to watch the epic struggle in real time yourself )

bugfix crash on exit
bugfix do not cache mtl, bugfix for diffuse and websurface/image_id stuff
fixed pocketspace-linked F5 portal crash
bugfix upon disconnecting/reconnecting (can be triggered by userid change), clear last sent_enterroom_url so enter_room events get sent on subsequent
fix to restore progress loading through AssImp Geom class
Issue with colour and losing alpha component to zero, causing Room Templates not to render
only add RoomTemplates to RoomPhysics when mesh has completed loading
remove error loading color_hsl.mtl file
fix to resolve mtl files relative to room URL
fix look for external image files/textures relative to mtl path if specified
apply diffuse material setting when lighting is disabled
add plumbing so cubemap_radiance_id and cubemap_irradiance_id are JS read/writable attributes
fixed support for userid_pos on Ghosts
always assumes Geometry can be animatable
bugfix/hack, repair broken textures by looking one material index back and use its texture
small change that fixes custom lightmaps.
refactor Geom::CalculateFinalPoses() to make math for xforms more intelligible
fixed VBO generation and proper stride length, detecting animations/bones with meshes
case insensitivity when looking for .MTL extension loading files
allow mtl attribute override loading stuff with ASSIMP
do not allow invisible portals to be clicked on
make websurface cursor active on click for vive/touch
party mode and enter_room method being sent to server
fix for DOMNode::appendChild(), or in JS room.objects[X].appendChild(Y)
fixed crash when loading specific glTF files
encode with carat double quotes when sending Assets over network
fixed mirror portals, use active() instead
fix for random added portals when entering rooms that were previously visited
reduced default specular for AssetShader_Material
fixed teleport bug for Touch/Vive
bugfix do not add user-made portal with parent object
Geom::DrawMaterialGL() only submit draw call is GetIndexCount() > 0
Geom::DrawMaterialGL() pass vertex/index count, not number of floats when submitting draw to Renderer
bugfix windows GeomIOSystem::Open(), bugfix Touch controller laser does not disappear on release
remove RoomObject from RoomPhysics simulation if the collision_id is set to blank
bugfix release global button to stop speaking on controller 1
bugfix for traversing back through portals that have been crossed but were closed
fixed potential for slow mouse movement with gamepad enabled
fixed Diffuse material attribute making things dark when not lit
Back/forward history now work; endless loops when going back/forward should be fixed
bugfix cursor brightness, refactor cursor drawing into Game::DrawCursorGL()
bugfix fix Geom::GetTexturesReady() to return true when all textures are finished loading
bugfix for crashes (only updateanimations on linked Geoms), restore animations for multiplayers, only keep bone indexes for actual bones and not all transforms (max is 128)
bugfix Geom::Unload() proper deallocation to fix crashes

Apr 7
Janus VR - Aussie
Thank you to all the Steam users for the bug reports and suggestions for improving JanusVR.

Updated controls on Vive so index trigger is used as primary interact button instead of the trackpad button.

Updated controls on Vive so that trackpads perform translation and rotation.

Bugfix: websurfaces with an image_id set.

Bugfix: pocketspace screen when leaving, closing portal, and returning.

Bugfix: portals appearing pressing F5 in pocketspace.

Bugfix: do not save out global tutorial URL in room code .

Bugfix: drag and drop Sound elements from webpages .

Bugfix: in "2D" render mode, do not do comfort mode snap rotations.

New Feature: room.preventDefault() . Call this to suppress default interact/webspace functionality in the room.[onMouseDown/onMouseUp/onClick] functions if you need custom behaviour (note: experimental as we converge on optimal controls/UI).
Apr 7
Janus VR - Aussie
Release 57.1:

Bugfix: have websurfaces only make request with server once (instead of repeatedly polling until loaded)

Bugfix for Oculus Touch users and walking "sticking" after text

Bugfix: no more tooltips hanging around after clicking e.g. the pocketspace button in 2DUI with mouse

Improvements to virtual keyboard so it can be used two-handed

Minor bugfix to set tex_linear, etc for non-OBJ types

Bugfix: fixed avatar animation "jitter" bug, alternating between idle and jump animations

Middle click for drag+drop, drag and dropping of PDF files

Linux build now attempts to initialize/use OpenVR (until Vulkan support is ready - your mileage may vary!)

PDF support - Link to a PDF in an assetwebsurface to use

Search news
Oct   Sep   Aug   Jul   Jun   May  
Apr   Mar   Feb   Jan  
Archives By Year
2017   2016   2015   2014   2013  
2012   2011   2010   2009   2008  
2007   2006   2005   2004   2003