void FixedUpdate()
 {
     if (inputEnabled)
     {
         activeCursors.Clear();
         Frame    frame = controller.Frame();
         HandList hands = frame.Hands;
         for (int h = 0; h < hands.Count; h++)
         {
             Hand       hand   = hands[h];
             HandCursor cursor = GetCursor();
             cursor.OnFrame(hand);
         }
         //hide all inactive cursors
         foreach (HandCursor cursor in allCursors)
         {
             if (!activeCursors.Contains(cursor))
             {
                 cursor.gameObject.SetActive(false);
                 cursor.Release();
             }
         }
         MoleculeManager.instance.OnFrame(activeCursors);
     }
 }