Lessons learnt from building Mixed Reality/AR applications for training

Having spent 5 years building instructor-led training MR applications I thought it might be useful to jot down some of the lessons learnt. I f you are interested in more or have specific questions just drop me a message  ( simon(@) ). Summary : (Appropriate as I am writing on  Feb 14th) KISS, KISS, KISS … (Keep It Simple Stupid). By that I mean to keep it simple for the Instructor and Trainees. Our analogy was the automatic gearbox, keeping it simple for the user meant that behind the scenes we had to overcome many difficult technical and logistical problems.       One thing I would say is, despite the list that follows, headset based Mixed Reality instructor-led training  has the potential to  deliver a good level of ROI. Background : Typically, our clients were corporates involved in industrial activities and had an initial budget of $20k for a 2+ person training solution (inc hardware). Training took place anywhere there was space (offices, canteens, outside, training c
5 years ago we started building Industrial training solutions in 3D using HoloLens and nReal 3D glasses. Celebrating 5 years of building Mixed Reality training sol;utions

So sad to hear the HoloLens 3 news

Really sad to hear the news re HoloLens 3 being dropped. I started developing HoloLens training applications 5 years ago and the difference we made to our clients was amazing. Mixed Reality has so much potential (at least in certain areas). I guess it’s another good example of a tech innovator fully understanding the true significance of their own technology and how to  use it. It i s ( of cause)  also very sad for the amazing people who worked on it.

Camera Mouse and WASD keyboard mover in UNITY

Recently I needed a simple script to move the camera in a Unity 3D scene using the keyboard and mouse for Windows/Mac users and I couldn't find a simple cut and paste answer. So I wrote CameraMover - it overs most of the basic WASD/Arrow/Mouse movements and has taken far more effort than I ever thought it would. Please feel free to use it as needed. The code can be found here on GitHub
Update details for version 1.70  Changes: Added access to the scenes generated by SDS Scenaria Editor Connect Scenaria into SDS Forms and Training system Bug Fixes: Fixed an issue with running out of memory after loading complex scenes
Update details for version 1.64  Changes: Added a new  Edit script command. This allows a developer to toggle the scale and rotate edit options on for an asset. Note the changes will not be preserved across scene loads. e.g.  Adding the script command Edit to the onclick event will cause the scale and rotate bounding box and controls to appear and allow the user to manipulate the asset. Usage: Edit("[ID]"); where ID is the Unique Identifier (UID) e.g. A20 in teh example below. <hologram uri="abc.obj" uid="A20" positionxyz="0.0,-0.5,5"  onclick='Edit("A20");' ></hologram> Added a new Move script command.  This allows a developer to toggle the move option for the asset. Note the changes will not be preserved across scene loads. e.g.  Adding the script command Move to the onclick event will allow the user to move the asset within the scene.   Usage: Move("[ID]"); where ID is the Unique Identifier (UID)
Update details for version 1.63  Changes: Added a new Line  asset for drawing simple straight lines . Note at this point, we only support a solid, straight,  colored line with start and end values and no line endpoint graphics. The following will draw a line between the start and endpoints with the line color changing from red to green and fading out towards the end of the line. e.g.  <hologram uri="line" uid="A30"  start-positionxyz ="1,1,3"  end-positionxyz="1,0.0,3" start-width="0.01" end-width="0.01" start-color="255,0,0,255" end-color="0,255,0,0"></hologram> Special additional properties supported [start-positionxyz] and [ end-positionxyz] the start/end positions in 3D of the line. [start-width] and [end-width] the start and end width of the line. E.g. (these are floating-point values). To draw an arrow try 0.1 for start and 0.001 for the end. [start-color] and [en