commit 04839796ae5e58e2bd35f803eb456912ca72bc3f
Author: Oto Šťáva <ostava@students.zcu.cz>
Date:   Mon May 24 09:55:03 2021 +0000

    Re #8906 - Server and client refactor

diff --git a/deltarobot-vr/Assets/DeltaRobotVr/ActuatorScript.cs b/deltarobot-vr/Assets/DeltaRobotVr/ActuatorScript.cs
deleted file mode 100644
index c91c279..0000000
--- a/deltarobot-vr/Assets/DeltaRobotVr/ActuatorScript.cs
+++ /dev/null
@@ -1,26 +0,0 @@
-using UnityEngine;
-
-namespace DeltaRobotVr
-{
-    public class ActuatorScript : MonoBehaviour
-    {
-        public const float LerpParam = 0.5f;
-        
-        private Transform _transform;
-    
-        void Start()
-        {
-            _transform = GetComponent<Transform>();
-        }
-    
-        void Update()
-        {
-            if (Client.Instance.IsConnected)
-            {
-                var actPosition = Client.Instance.ActuatorPosition;
-                var newPosition = Single3Utils.ToVector3(actPosition.X, actPosition.Y, actPosition.Z);
-                _transform.position = Vector3.Lerp(_transform.position, newPosition, LerpParam);
-            }
-        }
-    }
-}
diff --git a/deltarobot-vr/Assets/DeltaRobotVr/ActuatorScript.cs.meta b/deltarobot-vr/Assets/DeltaRobotVr/ActuatorScript.cs.meta
deleted file mode 100644
index 6bdad38..0000000
--- a/deltarobot-vr/Assets/DeltaRobotVr/ActuatorScript.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: cfafba4e0e8b6e0adb6dda9dbc5076f8
-MonoImporter:
-  externalObjects: {}
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/deltarobot-vr/Assets/DeltaRobotVr/ArrowScript.cs b/deltarobot-vr/Assets/DeltaRobotVr/ArrowScript.cs
deleted file mode 100644
index 9339ae2..0000000
--- a/deltarobot-vr/Assets/DeltaRobotVr/ArrowScript.cs
+++ /dev/null
@@ -1,26 +0,0 @@
-using UnityEngine;
-
-namespace DeltaRobotVr
-{
-    public abstract class ArrowScript : MonoBehaviour
-    {
-        public float lengthMultiplier = 2;
-        void Start()
-        {
-        }
-
-        void Update()
-        {
-            if (Client.Instance.IsConnected)
-            {
-                var vector = GetVector();
-
-                Vector3 v = Single3Utils.ToVector3(vector);
-                this.transform.rotation = Quaternion.FromToRotation(Vector3.forward, v);
-                this.transform.localScale = new Vector3(1, 1, v.magnitude * lengthMultiplier);
-            }
-        }
-
-        protected abstract Single3 GetVector();
-    }
-}
diff --git a/deltarobot-vr/Assets/DeltaRobotVr/ArrowScript.cs.meta b/deltarobot-vr/Assets/DeltaRobotVr/ArrowScript.cs.meta
deleted file mode 100644
index d7f42bb..0000000
--- a/deltarobot-vr/Assets/DeltaRobotVr/ArrowScript.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: e8091905fe5149d40a4fb2711bb82b8b
-MonoImporter:
-  externalObjects: {}
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/deltarobot-vr/Assets/DeltaRobotVr/Client.cs b/deltarobot-vr/Assets/DeltaRobotVr/Client.cs
index 76f8889..8c7c315 100644
--- a/deltarobot-vr/Assets/DeltaRobotVr/Client.cs
+++ b/deltarobot-vr/Assets/DeltaRobotVr/Client.cs
@@ -8,22 +8,10 @@ using UnityEngine;
 
 namespace DeltaRobotVr
 {
-    public readonly struct Single3
-    {
-        public float X { get; }
-        public float Y { get; }
-        public float Z { get; }
-
-        public Single3(float x, float y, float z)
-        {
-            X = x;
-            Y = y;
-            Z = z;
-        }
-
-        public override string ToString() => "Single3[ " + X + " " + Y + " " + Z + " ]";
-    }
-
+    
+    /// <summary>
+    /// Singleton class responsible for communication with the Deltarobot server.
+    /// </summary>
     public sealed class Client
     {
         // singleton instance
@@ -79,7 +67,7 @@ namespace DeltaRobotVr
         private long _curveCounter = 0;
 
         private volatile bool _isConnected;
-        private volatile string _eotMsg = string.Empty;
+        private volatile string _eotReason = string.Empty;
 
         private readonly object _reconnectTimeLock = new object();
         private DateTime _reconnectTime = DateTime.Now;
@@ -92,6 +80,9 @@ namespace DeltaRobotVr
         {
         }
 
+        /// <summary>
+        /// Starts the client thread and connects to the server.
+        /// </summary>
         public void Start()
         {
             IsRunning = true;
@@ -99,6 +90,9 @@ namespace DeltaRobotVr
             _thread.Start();
         }
 
+        /// <summary>
+        /// Gracefully stops the client thread. Blocks until the thread actually stops.
+        /// </summary>
         public void Stop()
         {
             IsRunning = false;
@@ -109,18 +103,27 @@ namespace DeltaRobotVr
             }
         }
 
-        public string EotMsg
+        /// <summary>
+        /// Contains a reason received in an end-of-transmission message.
+        /// </summary>
+        public string EotReason
         {
-            get => _eotMsg;
-            private set => _eotMsg = value;
+            get => _eotReason;
+            private set => _eotReason = value;
         }
 
+        /// <summary>
+        /// Whether the client is currently maintaining an active connection to the server.
+        /// </summary>
         public bool IsConnected
         {
             get => _isConnected;
             private set => _isConnected = value;
         }
 
+        /// <summary>
+        /// Current position of the actuator (in server's world space).
+        /// </summary>
         public Single3 ActuatorPosition
         {
             get
@@ -139,7 +142,10 @@ namespace DeltaRobotVr
             } 
         }
 
-        public Single3 CurrentDirectionVector
+        /// <summary>
+        /// The actual direction the actuator is currently moving in.
+        /// </summary>
+        public Single3 ActualDirectionVector
         {
             get
             {
@@ -157,7 +163,10 @@ namespace DeltaRobotVr
             }
         }
 
-        public Single3 DesiredDirectionVector
+        /// <summary>
+        /// The target direction the actuator should be moving in so that it draws the curve.
+        /// </summary>
+        public Single3 TargetDirectionVector
         {
             get
             {
@@ -175,6 +184,9 @@ namespace DeltaRobotVr
             }
         }
 
+        /// <summary>
+        /// The current exercise curve.
+        /// </summary>
         public Single3[] Curve
         {
             get
@@ -193,6 +205,10 @@ namespace DeltaRobotVr
             }
         }
 
+        /// <summary>
+        /// A counter used to determine whether the curve has changed. The curve remains the same while the counter is
+        /// the same.
+        /// </summary>
         public long CurveCounter
         {
             get
@@ -211,6 +227,9 @@ namespace DeltaRobotVr
             }
         }
 
+        /// <summary>
+        /// Whether the client thread should keep on reading data from the server.
+        /// </summary>
         public bool IsRunning
         {
             get {
@@ -228,6 +247,9 @@ namespace DeltaRobotVr
             }
         }
 
+        /// <summary>
+        /// The time at which the client will attempt to reconnect to the server again.
+        /// </summary>
         public DateTime ReconnectTime
         {
             get
@@ -246,6 +268,9 @@ namespace DeltaRobotVr
             }
         }
 
+        /// <summary>
+        /// The client thread function.
+        /// </summary>
         private void ThreadProcedure()
         {
             while (IsRunning)
@@ -315,13 +340,13 @@ namespace DeltaRobotVr
                     ProcessEot(reader);
                     break;
                 case CurrentActuatorPositionId:
-                    ProcessCurrentActuatorPosition(reader);
+                    ProcessActuatorPosition(reader);
                     break;
                 case CurrentDirectionVectorId:
-                    ProcessCurrentDirectionVector(reader);
+                    ProcessActualDirectionVector(reader);
                     break;
                 case DesiredDirectionVectorId:
-                    ProcessDesiredDirectionVector(reader);
+                    ProcessTargetDirectionVector(reader);
                     break;
                 case CurveId:
                     ProcessCurve(reader);
@@ -394,7 +419,7 @@ namespace DeltaRobotVr
             reader.ReadBytes((int) numberOfBytes);
         }
 
-        private void ProcessCurrentActuatorPosition(BinaryReader reader)
+        private void ProcessActuatorPosition(BinaryReader reader)
         {
             var x = reader.ReadSingle();
             var y = reader.ReadSingle();
@@ -404,24 +429,24 @@ namespace DeltaRobotVr
             ActuatorPosition = new Single3(x, y, z);
         }
 
-        private void ProcessCurrentDirectionVector(BinaryReader reader)
+        private void ProcessActualDirectionVector(BinaryReader reader)
         {
             var x = reader.ReadSingle();
             var y = reader.ReadSingle();
             var z = reader.ReadSingle();
             reader.ReadSingle(); // skip unused
 
-            CurrentDirectionVector = new Single3(x, y, z);
+            ActualDirectionVector = new Single3(x, y, z);
         }
 
-        private void ProcessDesiredDirectionVector(BinaryReader reader)
+        private void ProcessTargetDirectionVector(BinaryReader reader)
         {
             var x = reader.ReadSingle();
             var y = reader.ReadSingle();
             var z = reader.ReadSingle();
             reader.ReadSingle(); // skip unused
 
-            DesiredDirectionVector = new Single3(x, y, z);
+            TargetDirectionVector = new Single3(x, y, z);
         }
 
         private void ProcessCurve(BinaryReader reader)
@@ -449,7 +474,7 @@ namespace DeltaRobotVr
         {
             UInt32 numberOfBytes = reader.ReadUInt32();
             Byte[] buffer = reader.ReadBytes((int) numberOfBytes);
-            EotMsg = Encoding.ASCII.GetString(buffer);
+            EotReason = Encoding.ASCII.GetString(buffer);
             IsConnected = false;
         }
 
diff --git a/deltarobot-vr/Assets/DeltaRobotVr/Components.meta b/deltarobot-vr/Assets/DeltaRobotVr/Components.meta
new file mode 100644
index 0000000..12ee354
--- /dev/null
+++ b/deltarobot-vr/Assets/DeltaRobotVr/Components.meta
@@ -0,0 +1,3 @@
+﻿fileFormatVersion: 2
+guid: fc6bedc3421d40129835f279dbc661e2
+timeCreated: 1621693639
\ No newline at end of file
diff --git a/deltarobot-vr/Assets/DeltaRobotVr/Components/AbstractArrow.cs b/deltarobot-vr/Assets/DeltaRobotVr/Components/AbstractArrow.cs
new file mode 100644
index 0000000..1ea67f7
--- /dev/null
+++ b/deltarobot-vr/Assets/DeltaRobotVr/Components/AbstractArrow.cs
@@ -0,0 +1,29 @@
+using UnityEngine;
+
+namespace DeltaRobotVr.Components
+{
+    /// <summary>
+    /// A generic implementation of vector visualization. The vector is determined by the <c>GetVector</c> method.
+    /// </summary>
+    public abstract class AbstractArrow : MonoBehaviour
+    {
+        public float lengthMultiplier = 2;
+
+        void Update()
+        {
+            if (Client.Instance.IsConnected)
+            {
+                Vector3 v = Single3Utils.ToVector3(GetVector());
+                
+                var t = transform;
+                t.rotation = Quaternion.FromToRotation(Vector3.forward, v);
+                t.localScale = new Vector3(1, 1, v.magnitude * lengthMultiplier);
+            }
+        }
+
+        /// <summary>
+        /// Gets the vector that this component renders.
+        /// </summary>
+        protected abstract Single3 GetVector();
+    }
+}
diff --git a/deltarobot-vr/Assets/DeltaRobotVr/Components/AbstractArrow.cs.meta b/deltarobot-vr/Assets/DeltaRobotVr/Components/AbstractArrow.cs.meta
new file mode 100644
index 0000000..d7f42bb
--- /dev/null
+++ b/deltarobot-vr/Assets/DeltaRobotVr/Components/AbstractArrow.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: e8091905fe5149d40a4fb2711bb82b8b
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/deltarobot-vr/Assets/DeltaRobotVr/Components/ActualDirectionArrow.cs b/deltarobot-vr/Assets/DeltaRobotVr/Components/ActualDirectionArrow.cs
new file mode 100644
index 0000000..2577d21
--- /dev/null
+++ b/deltarobot-vr/Assets/DeltaRobotVr/Components/ActualDirectionArrow.cs
@@ -0,0 +1,11 @@
+namespace DeltaRobotVr.Components
+{
+    
+    /// <summary>
+    /// This arrow visualizes the actual direction the actuator is currently moving in.
+    /// </summary>
+    public class ActualDirectionArrow : AbstractArrow
+    {
+        protected override Single3 GetVector() => Client.Instance.ActualDirectionVector;
+    }
+}
diff --git a/deltarobot-vr/Assets/DeltaRobotVr/Components/ActualDirectionArrow.cs.meta b/deltarobot-vr/Assets/DeltaRobotVr/Components/ActualDirectionArrow.cs.meta
new file mode 100644
index 0000000..7ed64b3
--- /dev/null
+++ b/deltarobot-vr/Assets/DeltaRobotVr/Components/ActualDirectionArrow.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 7d92319639667d643a9722c4c835a70b
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/deltarobot-vr/Assets/DeltaRobotVr/Components/Actuator.cs b/deltarobot-vr/Assets/DeltaRobotVr/Components/Actuator.cs
new file mode 100644
index 0000000..ff0af5e
--- /dev/null
+++ b/deltarobot-vr/Assets/DeltaRobotVr/Components/Actuator.cs
@@ -0,0 +1,26 @@
+using UnityEngine;
+
+namespace DeltaRobotVr.Components
+{
+    public class Actuator : MonoBehaviour
+    {
+        public const float LerpParam = 0.5f;
+        
+        private Transform _transform;
+    
+        void Start()
+        {
+            _transform = GetComponent<Transform>();
+        }
+    
+        void Update()
+        {
+            if (Client.Instance.IsConnected)
+            {
+                var actPosition = Client.Instance.ActuatorPosition;
+                var newPosition = Single3Utils.ToVector3(actPosition.X, actPosition.Y, actPosition.Z);
+                _transform.position = Vector3.Lerp(_transform.position, newPosition, LerpParam);
+            }
+        }
+    }
+}
diff --git a/deltarobot-vr/Assets/DeltaRobotVr/Components/Actuator.cs.meta b/deltarobot-vr/Assets/DeltaRobotVr/Components/Actuator.cs.meta
new file mode 100644
index 0000000..6bdad38
--- /dev/null
+++ b/deltarobot-vr/Assets/DeltaRobotVr/Components/Actuator.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: cfafba4e0e8b6e0adb6dda9dbc5076f8
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/deltarobot-vr/Assets/DeltaRobotVr/Components/Curve.cs b/deltarobot-vr/Assets/DeltaRobotVr/Components/Curve.cs
new file mode 100644
index 0000000..5f9756a
--- /dev/null
+++ b/deltarobot-vr/Assets/DeltaRobotVr/Components/Curve.cs
@@ -0,0 +1,29 @@
+using UnityEngine;
+
+namespace DeltaRobotVr.Components
+{
+    public class Curve : MonoBehaviour
+    {
+        private long _currentCounter;
+        private LineRenderer _lineRenderer;
+        
+        void Start()
+        {
+            _currentCounter = Client.Instance.CurveCounter;
+            _lineRenderer = GetComponent<LineRenderer>();
+        }
+   
+        void Update()
+        {
+            if (Client.Instance.IsConnected)
+            {
+                var counter = Client.Instance.CurveCounter;
+                if(counter != _currentCounter && Client.Instance.Curve != null)
+                {
+                    _lineRenderer.positionCount = Client.Instance.Curve.Length;
+                    _lineRenderer.SetPositions(Single3Utils.ToVector3(Client.Instance.Curve));
+                }
+            }
+        }
+    }
+}
diff --git a/deltarobot-vr/Assets/DeltaRobotVr/Components/Curve.cs.meta b/deltarobot-vr/Assets/DeltaRobotVr/Components/Curve.cs.meta
new file mode 100644
index 0000000..742aa0a
--- /dev/null
+++ b/deltarobot-vr/Assets/DeltaRobotVr/Components/Curve.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: bb50b983128c52b48ae66147e4978d5f
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/deltarobot-vr/Assets/DeltaRobotVr/Components/StatusDisplay.cs b/deltarobot-vr/Assets/DeltaRobotVr/Components/StatusDisplay.cs
new file mode 100644
index 0000000..89afec9
--- /dev/null
+++ b/deltarobot-vr/Assets/DeltaRobotVr/Components/StatusDisplay.cs
@@ -0,0 +1,38 @@
+using System.Collections;
+using System.Collections.Generic;
+using UnityEngine;
+using UnityEngine.UI;
+using DeltaRobotVr;
+
+public class StatusDisplay : MonoBehaviour
+{
+    private const string STATUS = "Status:\n";
+    private const string CONNECTED = "<color=green>Connected</color>";
+    private const string CONNECTING = "<color=red>Connecting...</color>";
+    private Text _textComp;
+    // Start is called before the first frame update
+    void Start()
+    {
+        _textComp = GetComponent<Text>();
+    }
+
+    // Update is called once per frame
+    void Update()
+    {
+        if (Client.Instance.IsConnected)
+        {
+            _textComp.text = STATUS + CONNECTED;
+        }
+        else
+        {
+            if (Client.Instance.EotReason.Length == 0)
+            {
+                _textComp.text = STATUS + CONNECTING;
+            }
+            else
+            {
+                _textComp.text = STATUS + CONNECTING + "\n" + Client.Instance.EotReason;
+            }
+        }
+    }
+}
diff --git a/deltarobot-vr/Assets/DeltaRobotVr/Components/StatusDisplay.cs.meta b/deltarobot-vr/Assets/DeltaRobotVr/Components/StatusDisplay.cs.meta
new file mode 100644
index 0000000..d56b562
--- /dev/null
+++ b/deltarobot-vr/Assets/DeltaRobotVr/Components/StatusDisplay.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 3dfc99055443ed24597abf07afc16604
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/deltarobot-vr/Assets/DeltaRobotVr/Components/TargetDirectionArrow.cs b/deltarobot-vr/Assets/DeltaRobotVr/Components/TargetDirectionArrow.cs
new file mode 100644
index 0000000..72778c8
--- /dev/null
+++ b/deltarobot-vr/Assets/DeltaRobotVr/Components/TargetDirectionArrow.cs
@@ -0,0 +1,11 @@
+namespace DeltaRobotVr.Components
+{
+    
+    /// <summary>
+    /// This arrow visualizes the target direction the actuator should be moving in, in order to draw the curve.
+    /// </summary>
+    public class TargetDirectionArrow : AbstractArrow
+    {
+        protected override Single3 GetVector() => Client.Instance.TargetDirectionVector;
+    }
+}
diff --git a/deltarobot-vr/Assets/DeltaRobotVr/Components/TargetDirectionArrow.cs.meta b/deltarobot-vr/Assets/DeltaRobotVr/Components/TargetDirectionArrow.cs.meta
new file mode 100644
index 0000000..cdd6e2a
--- /dev/null
+++ b/deltarobot-vr/Assets/DeltaRobotVr/Components/TargetDirectionArrow.cs.meta
@@ -0,0 +1,11 @@
+fileFormatVersion: 2
+guid: 0405dab141f621d4aae1935de042ed9d
+MonoImporter:
+  externalObjects: {}
+  serializedVersion: 2
+  defaultReferences: []
+  executionOrder: 0
+  icon: {instanceID: 0}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/deltarobot-vr/Assets/DeltaRobotVr/CurrentDirectionArrow.cs b/deltarobot-vr/Assets/DeltaRobotVr/CurrentDirectionArrow.cs
deleted file mode 100644
index 8ce940b..0000000
--- a/deltarobot-vr/Assets/DeltaRobotVr/CurrentDirectionArrow.cs
+++ /dev/null
@@ -1,7 +0,0 @@
-namespace DeltaRobotVr
-{
-    public class CurrentDirectionArrow : ArrowScript
-    {
-        protected override Single3 GetVector() => Client.Instance.CurrentDirectionVector;
-    }
-}
diff --git a/deltarobot-vr/Assets/DeltaRobotVr/CurrentDirectionArrow.cs.meta b/deltarobot-vr/Assets/DeltaRobotVr/CurrentDirectionArrow.cs.meta
deleted file mode 100644
index 7ed64b3..0000000
--- a/deltarobot-vr/Assets/DeltaRobotVr/CurrentDirectionArrow.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 7d92319639667d643a9722c4c835a70b
-MonoImporter:
-  externalObjects: {}
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/deltarobot-vr/Assets/DeltaRobotVr/CurveScript.cs b/deltarobot-vr/Assets/DeltaRobotVr/CurveScript.cs
deleted file mode 100644
index 83ea60d..0000000
--- a/deltarobot-vr/Assets/DeltaRobotVr/CurveScript.cs
+++ /dev/null
@@ -1,28 +0,0 @@
-using UnityEngine;
-
-namespace DeltaRobotVr
-{
-    public class CurveScript : MonoBehaviour
-    {
-        private long _curentCounter;
-        private LineRenderer lr;
-        void Start()
-        {
-            _curentCounter = Client.Instance.CurveCounter;
-            lr = GetComponent<LineRenderer>();
-        }
-   
-        void Update()
-        {
-            if (Client.Instance.IsConnected)
-            {
-                var _counter = Client.Instance.CurveCounter;
-                if(_counter != _curentCounter && Client.Instance.Curve != null)
-                {
-                    lr.positionCount = Client.Instance.Curve.Length;
-                    lr.SetPositions(Single3Utils.ToVector3(Client.Instance.Curve));
-                }
-            }
-        }
-    }
-}
diff --git a/deltarobot-vr/Assets/DeltaRobotVr/CurveScript.cs.meta b/deltarobot-vr/Assets/DeltaRobotVr/CurveScript.cs.meta
deleted file mode 100644
index 742aa0a..0000000
--- a/deltarobot-vr/Assets/DeltaRobotVr/CurveScript.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: bb50b983128c52b48ae66147e4978d5f
-MonoImporter:
-  externalObjects: {}
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/deltarobot-vr/Assets/DeltaRobotVr/DesiredDirectionArrow.cs b/deltarobot-vr/Assets/DeltaRobotVr/DesiredDirectionArrow.cs
deleted file mode 100644
index 46793d8..0000000
--- a/deltarobot-vr/Assets/DeltaRobotVr/DesiredDirectionArrow.cs
+++ /dev/null
@@ -1,7 +0,0 @@
-namespace DeltaRobotVr
-{
-    public class DesiredDirectionArrow : ArrowScript
-    {
-        protected override Single3 GetVector() => Client.Instance.DesiredDirectionVector;
-    }
-}
diff --git a/deltarobot-vr/Assets/DeltaRobotVr/DesiredDirectionArrow.cs.meta b/deltarobot-vr/Assets/DeltaRobotVr/DesiredDirectionArrow.cs.meta
deleted file mode 100644
index cdd6e2a..0000000
--- a/deltarobot-vr/Assets/DeltaRobotVr/DesiredDirectionArrow.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 0405dab141f621d4aae1935de042ed9d
-MonoImporter:
-  externalObjects: {}
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/deltarobot-vr/Assets/DeltaRobotVr/MainScript.cs b/deltarobot-vr/Assets/DeltaRobotVr/MainScript.cs
index 418cf3d..f55bbac 100644
--- a/deltarobot-vr/Assets/DeltaRobotVr/MainScript.cs
+++ b/deltarobot-vr/Assets/DeltaRobotVr/MainScript.cs
@@ -1,20 +1,23 @@
-using System;
-using UnityEngine;
-using UnityEngine.SceneManagement;
-
-namespace DeltaRobotVr
-{
-    public class MainScript : MonoBehaviour
-    {
-        private void Start()
-        {
-            SceneManager.LoadScene("BasicRoomScene", LoadSceneMode.Additive);
-            Client.Instance.Start();
-        }
-
-        private void OnDestroy()
-        {
-            Client.Instance.Stop();
-        }
-    }
+using UnityEngine;
+using UnityEngine.SceneManagement;
+
+namespace DeltaRobotVr
+{
+    
+    /// <summary>
+    /// Global script for the main scene.
+    /// </summary>
+    public class MainScript : MonoBehaviour
+    {
+        private void Start()
+        {
+            SceneManager.LoadScene("BasicRoomScene", LoadSceneMode.Additive);
+            Client.Instance.Start();
+        }
+
+        private void OnDestroy()
+        {
+            Client.Instance.Stop();
+        }
+    }
 }
\ No newline at end of file
diff --git a/deltarobot-vr/Assets/DeltaRobotVr/Single3.cs b/deltarobot-vr/Assets/DeltaRobotVr/Single3.cs
new file mode 100644
index 0000000..61b1b0c
--- /dev/null
+++ b/deltarobot-vr/Assets/DeltaRobotVr/Single3.cs
@@ -0,0 +1,22 @@
+namespace DeltaRobotVr
+{
+    
+    /// <summary>
+    /// A simple 3D float vector.
+    /// </summary>
+    public readonly struct Single3
+    {
+        public float X { get; }
+        public float Y { get; }
+        public float Z { get; }
+
+        public Single3(float x, float y, float z)
+        {
+            X = x;
+            Y = y;
+            Z = z;
+        }
+
+        public override string ToString() => "Single3[ " + X + " " + Y + " " + Z + " ]";
+    }
+}
\ No newline at end of file
diff --git a/deltarobot-vr/Assets/DeltaRobotVr/Single3.cs.meta b/deltarobot-vr/Assets/DeltaRobotVr/Single3.cs.meta
new file mode 100644
index 0000000..680ce3d
--- /dev/null
+++ b/deltarobot-vr/Assets/DeltaRobotVr/Single3.cs.meta
@@ -0,0 +1,3 @@
+﻿fileFormatVersion: 2
+guid: 5e77e12132de42cdb006c02000deb1b1
+timeCreated: 1621783853
\ No newline at end of file
diff --git a/deltarobot-vr/Assets/DeltaRobotVr/Single3Utils.cs b/deltarobot-vr/Assets/DeltaRobotVr/Single3Utils.cs
index 28b6175..38c452c 100644
--- a/deltarobot-vr/Assets/DeltaRobotVr/Single3Utils.cs
+++ b/deltarobot-vr/Assets/DeltaRobotVr/Single3Utils.cs
@@ -2,6 +2,10 @@ using UnityEngine;
 
 namespace DeltaRobotVr
 {
+    
+    /// <summary>
+    /// Utilities for the <c>Single3</c> struct.
+    /// </summary>
     public class Single3Utils
     {
         public const float PositionScale = 0.001f;
diff --git a/deltarobot-vr/Assets/DeltaRobotVr/StatusScript.cs b/deltarobot-vr/Assets/DeltaRobotVr/StatusScript.cs
deleted file mode 100644
index b37a530..0000000
--- a/deltarobot-vr/Assets/DeltaRobotVr/StatusScript.cs
+++ /dev/null
@@ -1,31 +0,0 @@
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-using UnityEngine.UI;
-using DeltaRobotVr;
-
-public class StatusScript : MonoBehaviour
-{
-    private const string STATUS = "Status:\n";
-    private const string CONNECTED = "<color=green>Connected</color>";
-    private const string CONNECTING = "<color=red>Connecting...</color>\n";
-    private Text _textComp;
-    // Start is called before the first frame update
-    void Start()
-    {
-        _textComp = GetComponent<Text>();
-    }
-
-    // Update is called once per frame
-    void Update()
-    {
-        if (Client.Instance.IsConnected)
-        {
-            _textComp.text = STATUS + CONNECTED;
-        }
-        else
-        {
-            _textComp.text = STATUS + CONNECTING + Client.Instance.EotMsg;
-        }
-    }
-}
diff --git a/deltarobot-vr/Assets/DeltaRobotVr/StatusScript.cs.meta b/deltarobot-vr/Assets/DeltaRobotVr/StatusScript.cs.meta
deleted file mode 100644
index d56b562..0000000
--- a/deltarobot-vr/Assets/DeltaRobotVr/StatusScript.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 3dfc99055443ed24597abf07afc16604
-MonoImporter:
-  externalObjects: {}
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/deltarobot-vr/Assets/Materials/ActualDirectionMaterial.mat b/deltarobot-vr/Assets/Materials/ActualDirectionMaterial.mat
new file mode 100644
index 0000000..9b95e56
--- /dev/null
+++ b/deltarobot-vr/Assets/Materials/ActualDirectionMaterial.mat
@@ -0,0 +1,78 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: ActualDirectionMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 0, b: 0, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+  m_BuildTextureStacks: []
diff --git a/deltarobot-vr/Assets/Materials/ActualDirectionMaterial.mat.meta b/deltarobot-vr/Assets/Materials/ActualDirectionMaterial.mat.meta
new file mode 100644
index 0000000..cbfd20e
--- /dev/null
+++ b/deltarobot-vr/Assets/Materials/ActualDirectionMaterial.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 306843c96e6ccc5e292e116d1d3418a6
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/deltarobot-vr/Assets/Materials/ActuatorMaterial.mat b/deltarobot-vr/Assets/Materials/ActuatorMaterial.mat
new file mode 100644
index 0000000..cb1df02
--- /dev/null
+++ b/deltarobot-vr/Assets/Materials/ActuatorMaterial.mat
@@ -0,0 +1,78 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: ActuatorMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 0, g: 0.61987686, b: 1, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+  m_BuildTextureStacks: []
diff --git a/deltarobot-vr/Assets/Materials/ActuatorMaterial.mat.meta b/deltarobot-vr/Assets/Materials/ActuatorMaterial.mat.meta
new file mode 100644
index 0000000..c735799
--- /dev/null
+++ b/deltarobot-vr/Assets/Materials/ActuatorMaterial.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: c14ddb25b53d5c1d38abd988a0ff268e
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/deltarobot-vr/Assets/Materials/CDArrowMaterial.mat b/deltarobot-vr/Assets/Materials/CDArrowMaterial.mat
deleted file mode 100644
index 0cb7e08..0000000
--- a/deltarobot-vr/Assets/Materials/CDArrowMaterial.mat
+++ /dev/null
@@ -1,78 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!21 &2100000
-Material:
-  serializedVersion: 6
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_Name: CDArrowMaterial
-  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
-  m_ShaderKeywords: 
-  m_LightmapFlags: 4
-  m_EnableInstancingVariants: 0
-  m_DoubleSidedGI: 0
-  m_CustomRenderQueue: -1
-  stringTagMap: {}
-  disabledShaderPasses: []
-  m_SavedProperties:
-    serializedVersion: 3
-    m_TexEnvs:
-    - _BumpMap:
-        m_Texture: {fileID: 0}
-        m_Scale: {x: 1, y: 1}
-        m_Offset: {x: 0, y: 0}
-    - _DetailAlbedoMap:
-        m_Texture: {fileID: 0}
-        m_Scale: {x: 1, y: 1}
-        m_Offset: {x: 0, y: 0}
-    - _DetailMask:
-        m_Texture: {fileID: 0}
-        m_Scale: {x: 1, y: 1}
-        m_Offset: {x: 0, y: 0}
-    - _DetailNormalMap:
-        m_Texture: {fileID: 0}
-        m_Scale: {x: 1, y: 1}
-        m_Offset: {x: 0, y: 0}
-    - _EmissionMap:
-        m_Texture: {fileID: 0}
-        m_Scale: {x: 1, y: 1}
-        m_Offset: {x: 0, y: 0}
-    - _MainTex:
-        m_Texture: {fileID: 0}
-        m_Scale: {x: 1, y: 1}
-        m_Offset: {x: 0, y: 0}
-    - _MetallicGlossMap:
-        m_Texture: {fileID: 0}
-        m_Scale: {x: 1, y: 1}
-        m_Offset: {x: 0, y: 0}
-    - _OcclusionMap:
-        m_Texture: {fileID: 0}
-        m_Scale: {x: 1, y: 1}
-        m_Offset: {x: 0, y: 0}
-    - _ParallaxMap:
-        m_Texture: {fileID: 0}
-        m_Scale: {x: 1, y: 1}
-        m_Offset: {x: 0, y: 0}
-    m_Floats:
-    - _BumpScale: 1
-    - _Cutoff: 0.5
-    - _DetailNormalMapScale: 1
-    - _DstBlend: 0
-    - _GlossMapScale: 1
-    - _Glossiness: 0.5
-    - _GlossyReflections: 1
-    - _Metallic: 0
-    - _Mode: 0
-    - _OcclusionStrength: 1
-    - _Parallax: 0.02
-    - _SmoothnessTextureChannel: 0
-    - _SpecularHighlights: 1
-    - _SrcBlend: 1
-    - _UVSec: 0
-    - _ZWrite: 1
-    m_Colors:
-    - _Color: {r: 1, g: 0, b: 0, a: 1}
-    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
-  m_BuildTextureStacks: []
diff --git a/deltarobot-vr/Assets/Materials/CDArrowMaterial.mat.meta b/deltarobot-vr/Assets/Materials/CDArrowMaterial.mat.meta
deleted file mode 100644
index aa81813..0000000
--- a/deltarobot-vr/Assets/Materials/CDArrowMaterial.mat.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: ba5e94541fd24e84d8a7cef22c83d162
-NativeFormatImporter:
-  externalObjects: {}
-  mainObjectFileID: 2100000
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/deltarobot-vr/Assets/Materials/CubeMaterial.mat b/deltarobot-vr/Assets/Materials/CubeMaterial.mat
deleted file mode 100644
index 6603ecb..0000000
--- a/deltarobot-vr/Assets/Materials/CubeMaterial.mat
+++ /dev/null
@@ -1,78 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!21 &2100000
-Material:
-  serializedVersion: 6
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_Name: CubeMaterial
-  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
-  m_ShaderKeywords: 
-  m_LightmapFlags: 4
-  m_EnableInstancingVariants: 0
-  m_DoubleSidedGI: 0
-  m_CustomRenderQueue: -1
-  stringTagMap: {}
-  disabledShaderPasses: []
-  m_SavedProperties:
-    serializedVersion: 3
-    m_TexEnvs:
-    - _BumpMap:
-        m_Texture: {fileID: 0}
-        m_Scale: {x: 1, y: 1}
-        m_Offset: {x: 0, y: 0}
-    - _DetailAlbedoMap:
-        m_Texture: {fileID: 0}
-        m_Scale: {x: 1, y: 1}
-        m_Offset: {x: 0, y: 0}
-    - _DetailMask:
-        m_Texture: {fileID: 0}
-        m_Scale: {x: 1, y: 1}
-        m_Offset: {x: 0, y: 0}
-    - _DetailNormalMap:
-        m_Texture: {fileID: 0}
-        m_Scale: {x: 1, y: 1}
-        m_Offset: {x: 0, y: 0}
-    - _EmissionMap:
-        m_Texture: {fileID: 0}
-        m_Scale: {x: 1, y: 1}
-        m_Offset: {x: 0, y: 0}
-    - _MainTex:
-        m_Texture: {fileID: 0}
-        m_Scale: {x: 1, y: 1}
-        m_Offset: {x: 0, y: 0}
-    - _MetallicGlossMap:
-        m_Texture: {fileID: 0}
-        m_Scale: {x: 1, y: 1}
-        m_Offset: {x: 0, y: 0}
-    - _OcclusionMap:
-        m_Texture: {fileID: 0}
-        m_Scale: {x: 1, y: 1}
-        m_Offset: {x: 0, y: 0}
-    - _ParallaxMap:
-        m_Texture: {fileID: 0}
-        m_Scale: {x: 1, y: 1}
-        m_Offset: {x: 0, y: 0}
-    m_Floats:
-    - _BumpScale: 1
-    - _Cutoff: 0.5
-    - _DetailNormalMapScale: 1
-    - _DstBlend: 0
-    - _GlossMapScale: 1
-    - _Glossiness: 0.5
-    - _GlossyReflections: 1
-    - _Metallic: 0
-    - _Mode: 0
-    - _OcclusionStrength: 1
-    - _Parallax: 0.02
-    - _SmoothnessTextureChannel: 0
-    - _SpecularHighlights: 1
-    - _SrcBlend: 1
-    - _UVSec: 0
-    - _ZWrite: 1
-    m_Colors:
-    - _Color: {r: 0, g: 0.61987686, b: 1, a: 1}
-    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
-  m_BuildTextureStacks: []
diff --git a/deltarobot-vr/Assets/Materials/CubeMaterial.mat.meta b/deltarobot-vr/Assets/Materials/CubeMaterial.mat.meta
deleted file mode 100644
index cc31e71..0000000
--- a/deltarobot-vr/Assets/Materials/CubeMaterial.mat.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 62f2cab33e7d65346be49f4912bdd9ee
-NativeFormatImporter:
-  externalObjects: {}
-  mainObjectFileID: 2100000
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/deltarobot-vr/Assets/Materials/CurveMaterial 1.mat b/deltarobot-vr/Assets/Materials/CurveMaterial 1.mat
deleted file mode 100644
index 74105a4..0000000
--- a/deltarobot-vr/Assets/Materials/CurveMaterial 1.mat	
+++ /dev/null
@@ -1,78 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!21 &2100000
-Material:
-  serializedVersion: 6
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_Name: CurveMaterial 1
-  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
-  m_ShaderKeywords: 
-  m_LightmapFlags: 4
-  m_EnableInstancingVariants: 0
-  m_DoubleSidedGI: 0
-  m_CustomRenderQueue: -1
-  stringTagMap: {}
-  disabledShaderPasses: []
-  m_SavedProperties:
-    serializedVersion: 3
-    m_TexEnvs:
-    - _BumpMap:
-        m_Texture: {fileID: 0}
-        m_Scale: {x: 1, y: 1}
-        m_Offset: {x: 0, y: 0}
-    - _DetailAlbedoMap:
-        m_Texture: {fileID: 0}
-        m_Scale: {x: 1, y: 1}
-        m_Offset: {x: 0, y: 0}
-    - _DetailMask:
-        m_Texture: {fileID: 0}
-        m_Scale: {x: 1, y: 1}
-        m_Offset: {x: 0, y: 0}
-    - _DetailNormalMap:
-        m_Texture: {fileID: 0}
-        m_Scale: {x: 1, y: 1}
-        m_Offset: {x: 0, y: 0}
-    - _EmissionMap:
-        m_Texture: {fileID: 0}
-        m_Scale: {x: 1, y: 1}
-        m_Offset: {x: 0, y: 0}
-    - _MainTex:
-        m_Texture: {fileID: 0}
-        m_Scale: {x: 1, y: 1}
-        m_Offset: {x: 0, y: 0}
-    - _MetallicGlossMap:
-        m_Texture: {fileID: 0}
-        m_Scale: {x: 1, y: 1}
-        m_Offset: {x: 0, y: 0}
-    - _OcclusionMap:
-        m_Texture: {fileID: 0}
-        m_Scale: {x: 1, y: 1}
-        m_Offset: {x: 0, y: 0}
-    - _ParallaxMap:
-        m_Texture: {fileID: 0}
-        m_Scale: {x: 1, y: 1}
-        m_Offset: {x: 0, y: 0}
-    m_Floats:
-    - _BumpScale: 1
-    - _Cutoff: 0.5
-    - _DetailNormalMapScale: 1
-    - _DstBlend: 0
-    - _GlossMapScale: 1
-    - _Glossiness: 0.5
-    - _GlossyReflections: 1
-    - _Metallic: 0
-    - _Mode: 0
-    - _OcclusionStrength: 1
-    - _Parallax: 0.02
-    - _SmoothnessTextureChannel: 0
-    - _SpecularHighlights: 1
-    - _SrcBlend: 1
-    - _UVSec: 0
-    - _ZWrite: 1
-    m_Colors:
-    - _Color: {r: 1, g: 1, b: 0, a: 1}
-    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
-  m_BuildTextureStacks: []
diff --git a/deltarobot-vr/Assets/Materials/CurveMaterial 1.mat.meta b/deltarobot-vr/Assets/Materials/CurveMaterial 1.mat.meta
deleted file mode 100644
index 92de289..0000000
--- a/deltarobot-vr/Assets/Materials/CurveMaterial 1.mat.meta	
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: 4fccf519985fbac4cafe474b1888cf3c
-NativeFormatImporter:
-  externalObjects: {}
-  mainObjectFileID: 2100000
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/deltarobot-vr/Assets/Materials/CurveMaterial.mat b/deltarobot-vr/Assets/Materials/CurveMaterial.mat
new file mode 100644
index 0000000..a374faa
--- /dev/null
+++ b/deltarobot-vr/Assets/Materials/CurveMaterial.mat
@@ -0,0 +1,78 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: CurveMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 1, g: 1, b: 0, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+  m_BuildTextureStacks: []
diff --git a/deltarobot-vr/Assets/Materials/CurveMaterial.mat.meta b/deltarobot-vr/Assets/Materials/CurveMaterial.mat.meta
new file mode 100644
index 0000000..92de289
--- /dev/null
+++ b/deltarobot-vr/Assets/Materials/CurveMaterial.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 4fccf519985fbac4cafe474b1888cf3c
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/deltarobot-vr/Assets/Materials/DDArrowMaterial.mat b/deltarobot-vr/Assets/Materials/DDArrowMaterial.mat
deleted file mode 100644
index 8f65e32..0000000
--- a/deltarobot-vr/Assets/Materials/DDArrowMaterial.mat
+++ /dev/null
@@ -1,78 +0,0 @@
-%YAML 1.1
-%TAG !u! tag:unity3d.com,2011:
---- !u!21 &2100000
-Material:
-  serializedVersion: 6
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_Name: DDArrowMaterial
-  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
-  m_ShaderKeywords: 
-  m_LightmapFlags: 4
-  m_EnableInstancingVariants: 0
-  m_DoubleSidedGI: 0
-  m_CustomRenderQueue: -1
-  stringTagMap: {}
-  disabledShaderPasses: []
-  m_SavedProperties:
-    serializedVersion: 3
-    m_TexEnvs:
-    - _BumpMap:
-        m_Texture: {fileID: 0}
-        m_Scale: {x: 1, y: 1}
-        m_Offset: {x: 0, y: 0}
-    - _DetailAlbedoMap:
-        m_Texture: {fileID: 0}
-        m_Scale: {x: 1, y: 1}
-        m_Offset: {x: 0, y: 0}
-    - _DetailMask:
-        m_Texture: {fileID: 0}
-        m_Scale: {x: 1, y: 1}
-        m_Offset: {x: 0, y: 0}
-    - _DetailNormalMap:
-        m_Texture: {fileID: 0}
-        m_Scale: {x: 1, y: 1}
-        m_Offset: {x: 0, y: 0}
-    - _EmissionMap:
-        m_Texture: {fileID: 0}
-        m_Scale: {x: 1, y: 1}
-        m_Offset: {x: 0, y: 0}
-    - _MainTex:
-        m_Texture: {fileID: 0}
-        m_Scale: {x: 1, y: 1}
-        m_Offset: {x: 0, y: 0}
-    - _MetallicGlossMap:
-        m_Texture: {fileID: 0}
-        m_Scale: {x: 1, y: 1}
-        m_Offset: {x: 0, y: 0}
-    - _OcclusionMap:
-        m_Texture: {fileID: 0}
-        m_Scale: {x: 1, y: 1}
-        m_Offset: {x: 0, y: 0}
-    - _ParallaxMap:
-        m_Texture: {fileID: 0}
-        m_Scale: {x: 1, y: 1}
-        m_Offset: {x: 0, y: 0}
-    m_Floats:
-    - _BumpScale: 1
-    - _Cutoff: 0.5
-    - _DetailNormalMapScale: 1
-    - _DstBlend: 0
-    - _GlossMapScale: 1
-    - _Glossiness: 0.5
-    - _GlossyReflections: 1
-    - _Metallic: 0
-    - _Mode: 0
-    - _OcclusionStrength: 1
-    - _Parallax: 0.02
-    - _SmoothnessTextureChannel: 0
-    - _SpecularHighlights: 1
-    - _SrcBlend: 1
-    - _UVSec: 0
-    - _ZWrite: 1
-    m_Colors:
-    - _Color: {r: 0, g: 1, b: 0, a: 1}
-    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
-  m_BuildTextureStacks: []
diff --git a/deltarobot-vr/Assets/Materials/DDArrowMaterial.mat.meta b/deltarobot-vr/Assets/Materials/DDArrowMaterial.mat.meta
deleted file mode 100644
index 01380c1..0000000
--- a/deltarobot-vr/Assets/Materials/DDArrowMaterial.mat.meta
+++ /dev/null
@@ -1,8 +0,0 @@
-fileFormatVersion: 2
-guid: b01c4eddab52a9d47b02db54cc78e6c2
-NativeFormatImporter:
-  externalObjects: {}
-  mainObjectFileID: 2100000
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/deltarobot-vr/Assets/Materials/TargetDirectionMaterial.mat b/deltarobot-vr/Assets/Materials/TargetDirectionMaterial.mat
new file mode 100644
index 0000000..ce71802
--- /dev/null
+++ b/deltarobot-vr/Assets/Materials/TargetDirectionMaterial.mat
@@ -0,0 +1,78 @@
+%YAML 1.1
+%TAG !u! tag:unity3d.com,2011:
+--- !u!21 &2100000
+Material:
+  serializedVersion: 6
+  m_ObjectHideFlags: 0
+  m_CorrespondingSourceObject: {fileID: 0}
+  m_PrefabInstance: {fileID: 0}
+  m_PrefabAsset: {fileID: 0}
+  m_Name: TargetDirectionMaterial
+  m_Shader: {fileID: 46, guid: 0000000000000000f000000000000000, type: 0}
+  m_ShaderKeywords: 
+  m_LightmapFlags: 4
+  m_EnableInstancingVariants: 0
+  m_DoubleSidedGI: 0
+  m_CustomRenderQueue: -1
+  stringTagMap: {}
+  disabledShaderPasses: []
+  m_SavedProperties:
+    serializedVersion: 3
+    m_TexEnvs:
+    - _BumpMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailAlbedoMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailMask:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _DetailNormalMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _EmissionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MainTex:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _MetallicGlossMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _OcclusionMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    - _ParallaxMap:
+        m_Texture: {fileID: 0}
+        m_Scale: {x: 1, y: 1}
+        m_Offset: {x: 0, y: 0}
+    m_Floats:
+    - _BumpScale: 1
+    - _Cutoff: 0.5
+    - _DetailNormalMapScale: 1
+    - _DstBlend: 0
+    - _GlossMapScale: 1
+    - _Glossiness: 0.5
+    - _GlossyReflections: 1
+    - _Metallic: 0
+    - _Mode: 0
+    - _OcclusionStrength: 1
+    - _Parallax: 0.02
+    - _SmoothnessTextureChannel: 0
+    - _SpecularHighlights: 1
+    - _SrcBlend: 1
+    - _UVSec: 0
+    - _ZWrite: 1
+    m_Colors:
+    - _Color: {r: 0, g: 1, b: 0, a: 1}
+    - _EmissionColor: {r: 0, g: 0, b: 0, a: 1}
+  m_BuildTextureStacks: []
diff --git a/deltarobot-vr/Assets/Materials/TargetDirectionMaterial.mat.meta b/deltarobot-vr/Assets/Materials/TargetDirectionMaterial.mat.meta
new file mode 100644
index 0000000..5308d3d
--- /dev/null
+++ b/deltarobot-vr/Assets/Materials/TargetDirectionMaterial.mat.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: e2bc3c456e5936babaf6b4ec7434e213
+NativeFormatImporter:
+  externalObjects: {}
+  mainObjectFileID: 2100000
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/deltarobot-vr/Assets/Meshes.meta b/deltarobot-vr/Assets/Meshes.meta
new file mode 100644
index 0000000..52101fa
--- /dev/null
+++ b/deltarobot-vr/Assets/Meshes.meta
@@ -0,0 +1,8 @@
+fileFormatVersion: 2
+guid: 14a478c570286e138b01eab3201294bb
+folderAsset: yes
+DefaultImporter:
+  externalObjects: {}
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/deltarobot-vr/Assets/Meshes/arrow.dae b/deltarobot-vr/Assets/Meshes/arrow.dae
new file mode 100644
index 0000000..000d859
--- /dev/null
+++ b/deltarobot-vr/Assets/Meshes/arrow.dae
@@ -0,0 +1,101 @@
+<?xml version="1.0" encoding="utf-8"?>
+<COLLADA xmlns="http://www.collada.org/2005/11/COLLADASchema" version="1.4.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+  <asset>
+    <contributor>
+      <author>Blender User</author>
+      <authoring_tool>Blender 2.80.75 commit date:2019-07-29, commit time:14:47, hash:f6cb5f54494e</authoring_tool>
+    </contributor>
+    <created>2021-05-23T17:11:54</created>
+    <modified>2021-05-23T17:11:54</modified>
+    <unit name="meter" meter="1"/>
+    <up_axis>Z_UP</up_axis>
+  </asset>
+  <library_effects>
+    <effect id="Material-effect">
+      <profile_COMMON>
+        <technique sid="common">
+          <lambert>
+            <emission>
+              <color sid="emission">0 0 0 1</color>
+            </emission>
+            <diffuse>
+              <color sid="diffuse">0.8 0.8 0.8 1</color>
+            </diffuse>
+            <index_of_refraction>
+              <float sid="ior">1.45</float>
+            </index_of_refraction>
+          </lambert>
+        </technique>
+      </profile_COMMON>
+    </effect>
+  </library_effects>
+  <library_images/>
+  <library_materials>
+    <material id="Material-material" name="Material">
+      <instance_effect url="#Material-effect"/>
+    </material>
+  </library_materials>
+  <library_geometries>
+    <geometry id="Cube-mesh" name="Cube">
+      <mesh>
+        <source id="Cube-mesh-positions">
+          <float_array id="Cube-mesh-positions-array" count="291">0.01722079 0.04157483 0 0.03673768 -0.08869218 0.8560011 0.008779108 0.04413563 0 0 0.04500025 0 0.02500069 0.03741639 0 0.05333483 -0.07982081 0.8560011 0.03181982 0.03182005 0 0.03741616 0.02500092 0 0.06788235 -0.067882 0.8560011 0.04157459 0.01722103 0 0.04413539 0.008779346 0 0.07982116 -0.05333447 0.8560011 0.04500001 3.07484e-7 0 0.04413539 -0.00877875 0 0.08869254 -0.03673732 0.8560011 0.04157459 -0.01722043 0 0.03741616 -0.02500033 0 0.09415549 -0.01872837 0.8560011 0.03181982 -0.03181946 0 0.02500069 -0.0374158 0 0.09600013 2.7227e-7 0.8560011 0.01722079 -0.04157423 0 0.008779108 -0.04413503 0 0.09415549 0.01872891 0.8560011 0 -0.04499965 0 -0.008778989 -0.04413503 0 0.08869254 0.03673785 0.8560011 -0.01722067 -0.04157423 0 -0.02500063 -0.0374158 0 0.07982116 0.05333501 0.8560011 -0.03181976 -0.03181946 0 -0.0374161 -0.02500027 0 0.06788235 0.06788253 0.8560011 -0.04157453 -0.01722037 0 -0.04413527 -0.008778691 0 0.05333483 0.07982134 0.8560011 -0.04499995 3.47538e-7 0 -0.04413527 0.008779406 0 0.03673768 0.08869266 0.8560011 -0.04157447 0.01722109 0 -0.03741604 0.02500098 0 0.01872879 0.0941556 0.8560011 -0.0318197 0.03182011 0 -0.02500051 0.03741645 0 1.23459e-7 0.09600025 0.8560011 -0.01722061 0.04157489 0 -0.008778929 0.04413563 0 0 0.04500025 0.9 0.008779108 0.04413563 0.9 0.01722079 0.04157483 0.9 0.02500069 0.03741639 0.9 0.03181982 0.03182005 0.9 0.03741616 0.02500092 0.9 0.04157459 0.01722103 0.9 0.04413539 0.008779346 0.9 0.04500001 3.07484e-7 0.9 0.04413539 -0.00877875 0.9 0.04157459 -0.01722043 0.9 0.03741616 -0.02500033 0.9 0.03181982 -0.03181946 0.9 0.02500069 -0.0374158 0.9 0.01722079 -0.04157423 0.9 0.008779108 -0.04413503 0.9 0 -0.04499965 0.9 -0.008778989 -0.04413503 0.9 -0.01722067 -0.04157423 0.9 -0.02500063 -0.0374158 0.9 -0.03181976 -0.03181946 0.9 -0.0374161 -0.02500027 0.9 -0.04157453 -0.01722037 0.9 -0.04413527 -0.008778691 0.9 -0.04499995 3.47538e-7 0.9 -0.04413527 0.008779406 0.9 -0.04157447 0.01722109 0.9 -0.03741604 0.02500098 0.9 -0.0318197 0.03182011 0.9 -0.02500051 0.03741645 0.9 -0.01722061 0.04157489 0.9 -0.008778929 0.04413563 0.9 0.01872873 -0.09415507 0.8560011 0 -0.09599971 0.8560011 -0.01872855 -0.09415507 0.8560011 -0.0367375 -0.08869212 0.8560011 -0.05333465 -0.07982075 0.8560011 -0.06788212 -0.06788194 0.8560011 -0.07982099 -0.05333441 0.8560011 -0.0886923 -0.03673726 0.8560011 1.23459e-7 2.65022e-7 1.000001 -0.09415525 -0.01872831 0.8560011 -0.09599983 3.5772e-7 0.8560011 -0.09415525 0.01872903 0.8560011 -0.08869224 0.03673797 0.8560011 -0.07982087 0.05333507 0.8560011 -0.06788206 0.06788259 0.8560011 -0.05333447 0.0798214 0.8560011 -0.03673732 0.08869272 0.8560011 -0.01872837 0.09415566 0.8560011</float_array>
+          <technique_common>
+            <accessor source="#Cube-mesh-positions-array" count="97" stride="3">
+              <param name="X" type="float"/>
+              <param name="Y" type="float"/>
+              <param name="Z" type="float"/>
+            </accessor>
+          </technique_common>
+        </source>
+        <source id="Cube-mesh-normals">
+          <float_array id="Cube-mesh-normals-array" count="291">0.8756997 -0.1741755 -0.4503477 0 0 1 0.8249009 -0.3416614 -0.4503399 0.8928592 0 -0.450336 0.8756997 0.1741755 -0.4503477 0.8248713 0.3416923 -0.4503709 0.7423874 0.4960338 -0.4503461 0.6313582 0.6313277 -0.4503467 0.4960338 0.7423874 -0.4503461 0.3416614 0.8249009 -0.4503399 0.1741755 0.8756997 -0.4503477 0 0.8928592 -0.450336 0.7423874 -0.4960338 -0.4503461 0 -0.727881 -0.6857035 -0.727881 0 -0.6857035 0 0.727881 -0.6857035 -0.1950772 0.9807879 0 -0.1420046 0.7138987 -0.6856992 -0.3826816 0.9238803 0 -0.2785453 0.6724823 -0.6856969 -0.5555732 0.8314677 0 -0.4043767 0.6052222 -0.6857008 -0.7071068 0.7071068 0 -0.5146744 0.5147049 -0.6857035 -0.8314677 0.5555732 0 -0.6052222 0.4043767 -0.6857008 -0.9238803 0.3826816 0 -0.6724823 0.2785453 -0.6856969 -0.9807879 0.1950772 0 -0.7138987 0.1420046 -0.6856992 -1 0 0 -0.9807879 -0.1950772 0 -0.7138987 -0.1420046 -0.6856992 -0.9238803 -0.3826816 0 -0.6724823 -0.2785453 -0.6856969 -0.8314677 -0.5555732 0 -0.6052222 -0.4043767 -0.6857008 -0.7071068 -0.7071068 0 -0.5146825 -0.5146825 -0.6857143 -0.5555732 -0.8314677 0 -0.4043767 -0.6052222 -0.6857008 -0.3826816 -0.9238803 0 -0.2785453 -0.6724823 -0.6856969 -0.1950772 -0.9807879 0 -0.1420046 -0.7138987 -0.6856992 0 -1 0 0.1950772 -0.9807879 0 0.1420046 -0.7138987 -0.6856992 0.3826816 -0.9238803 0 0.2785453 -0.6724823 -0.6856969 0.5555732 -0.8314677 0 0.4043767 -0.6052222 -0.6857008 0.7071068 -0.7071068 0 0.5146825 -0.5146825 -0.6857143 0.8314677 -0.5555732 0 0.6052222 -0.4043767 -0.6857008 0.9238803 -0.3826816 0 0.6724823 -0.2785453 -0.6856969 0.9807879 -0.1950772 0 0.7138987 -0.1420046 -0.6856992 1 0 0 0.727881 0 -0.6857035 0.9807879 0.1950772 0 0.7138987 0.1420046 -0.6856992 0.9238803 0.3826816 0 0.6724823 0.2785453 -0.6856969 0.8314677 0.5555732 0 0.6052222 0.4043767 -0.6857008 0.7071068 0.7071068 0 0.5146825 0.5146825 -0.6857143 0.5555732 0.8314677 0 0.4043767 0.6052222 -0.6857008 0.3826816 0.9238803 0 0.2785453 0.6724823 -0.6856969 0.1950772 0.9807879 0 0.1420046 0.7138987 -0.6856992 0 1 0 0.6313461 -0.6313461 -0.450338 0.4960338 -0.7423874 -0.4503461 0.3416614 -0.8249009 -0.4503399 0.1741755 -0.8756997 -0.4503477 0 -0.8928592 -0.450336 -0.1741755 -0.8756997 -0.4503477 -0.3416614 -0.8249009 -0.4503399 -0.4960338 -0.7423874 -0.4503461 -0.6313277 -0.6313582 -0.4503467 -0.7423874 -0.4960338 -0.4503461 -0.8249009 -0.3416614 -0.4503399 -0.8756997 -0.1741755 -0.4503477 -0.8928592 0 -0.450336 -0.8756997 0.1741755 -0.4503477 -0.8249009 0.3416614 -0.4503399 -0.7423874 0.4960338 -0.4503461 -0.6313461 0.6313461 -0.450338 -0.4960338 0.7423874 -0.4503461 -0.3416614 0.8249009 -0.4503399 -0.1741755 0.8756997 -0.4503477</float_array>
+          <technique_common>
+            <accessor source="#Cube-mesh-normals-array" count="97" stride="3">
+              <param name="X" type="float"/>
+              <param name="Y" type="float"/>
+              <param name="Z" type="float"/>
+            </accessor>
+          </technique_common>
+        </source>
+        <source id="Cube-mesh-map-0">
+          <float_array id="Cube-mesh-map-0-array" count="936">0.7429851 0.7226861 0.5505128 0.6551491 0.7491803 0.7013883 0.734514 0.7431854 0.5505128 0.6551491 0.7429851 0.7226861 0.7238673 0.7626436 0.5505128 0.6551491 0.734514 0.7431854 0.7111707 0.7808309 0.5505128 0.6551491 0.7238673 0.7626436 0.6965743 0.7975319 0.5505128 0.6551491 0.7111707 0.7808309 0.6802508 0.8125495 0.5505128 0.6551491 0.6965743 0.7975319 0.6623932 0.8257059 0.5505128 0.6551491 0.6802508 0.8125495 0.6432126 0.8368455 0.5505128 0.6551491 0.6623932 0.8257059 0.622936 0.8458366 0.5505128 0.6551491 0.6432126 0.8368455 0.6018031 0.8525728 0.5505128 0.6551491 0.622936 0.8458366 0.7491803 0.7013883 0.5505128 0.6551491 0.7530264 0.6795437 0.1357442 0.4995396 0.03104501 0.5104977 0.02008694 0.4057985 0.9868592 0.2551115 0.1508795 0.2698153 0.1507903 0.2552232 0.9867699 0.2405194 0.1507903 0.2552232 0.1507012 0.2406311 0.9866808 0.2259272 0.1507012 0.2406311 0.1506121 0.2260389 0.9865916 0.2113351 0.1506121 0.2260389 0.150523 0.2114469 0.9865025 0.196743 0.150523 0.2114469 0.1504338 0.1968548 0.9864135 0.1821509 0.1504338 0.1968548 0.1503447 0.1822627 0.9863243 0.1675588 0.1503447 0.1822627 0.1502555 0.1676706 0.9862352 0.1529667 0.1502555 0.1676706 0.1501664 0.1530785 0.986146 0.1383746 0.1501664 0.1530785 0.1500772 0.1384864 0.9860569 0.1237825 0.1500772 0.1384864 0.1499881 0.1238943 0.9859678 0.1091904 0.1499881 0.1238943 0.149899 0.1093022 0.9858786 0.09459835 0.149899 0.1093022 0.1498098 0.09471011 0.9857895 0.08000624 0.1498098 0.09471011 0.1497207 0.080118 0.9857004 0.06541413 0.1497207 0.080118 0.1496316 0.06552588 0.9856112 0.05082195 0.1496316 0.06552588 0.1495425 0.05093383 0.985522 0.03622996 0.1495425 0.05093383 0.1494534 0.03634166 0.9854329 0.02163779 0.1494534 0.03634166 0.1493642 0.02174967 0.9853438 0.007045686 0.1493642 0.02174967 0.1492751 0.007157444 0.988107 0.4594009 0.1521273 0.4741047 0.1520382 0.4595125 0.9880178 0.4448087 0.1520382 0.4595125 0.151949 0.4449205 0.9879287 0.4302166 0.151949 0.4449205 0.1518599 0.4303284 0.9878396 0.4156245 0.1518599 0.4303284 0.1517707 0.4157363 0.9877504 0.4010324 0.1517707 0.4157363 0.1516816 0.4011442 0.9876611 0.3864403 0.1516816 0.4011442 0.1515924 0.386552 0.9875721 0.3718482 0.1515924 0.386552 0.1515033 0.3719599 0.987483 0.3572562 0.1515033 0.3719599 0.1514142 0.3573679 0.9873939 0.3426641 0.1514142 0.3573679 0.1513251 0.3427758 0.9873047 0.3280719 0.1513251 0.3427758 0.1512359 0.3281837 0.9872156 0.3134798 0.1512359 0.3281837 0.1511468 0.3135916 0.9871265 0.2988877 0.1511468 0.3135916 0.1510577 0.2989994 0.9870373 0.2842956 0.1510577 0.2989994 0.1509686 0.2844074 0.9869483 0.2697035 0.1509686 0.2844074 0.1508795 0.2698153 0.7530264 0.6795437 0.5505128 0.6551491 0.754478 0.6574108 0.754478 0.6574108 0.5505128 0.6551491 0.7535176 0.6352508 0.7535176 0.6352508 0.5505128 0.6551491 0.7501568 0.6133261 0.3483455 0.6280347 0.5505128 0.6551491 0.3465966 0.6501463 0.3465966 0.6501463 0.5505128 0.6551491 0.3472591 0.6723172 0.3472591 0.6723172 0.5505128 0.6551491 0.3503248 0.6942848 0.3503248 0.6942848 0.5505128 0.6551491 0.3557577 0.7157896 0.3557577 0.7157896 0.5505128 0.6551491 0.3634935 0.7365775 0.3634935 0.7365775 0.5505128 0.6551491 0.3734406 0.7564025 0.3734406 0.7564025 0.5505128 0.6551491 0.3854817 0.7750304 0.3854817 0.7750304 0.5505128 0.6551491 0.3994741 0.7922407 0.3994741 0.7922407 0.5505128 0.6551491 0.4152525 0.80783 0.4152525 0.80783 0.5505128 0.6551491 0.4326303 0.8216139 0.4326303 0.8216139 0.5505128 0.6551491 0.451402 0.8334294 0.451402 0.8334294 0.5505128 0.6551491 0.4713457 0.8431369 0.4713457 0.8431369 0.5505128 0.6551491 0.4922255 0.8506214 0.4922255 0.8506214 0.5505128 0.6551491 0.5137947 0.8557945 0.5137947 0.8557945 0.5505128 0.6551491 0.5357977 0.8585951 0.5357977 0.8585951 0.5505128 0.6551491 0.5579748 0.85899 0.7658097 0.5495281 0.9208392 0.5098969 0.9604704 0.6649262 0.5579748 0.85899 0.5505128 0.6551491 0.5800637 0.8569747 0.5800637 0.8569747 0.5505128 0.6551491 0.6018031 0.8525728 0.02008694 0.4057985 0.0303421 0.3954173 0.04242545 0.3872363 0.04242545 0.3872363 0.05587261 0.3815698 0.070167 0.3786356 0.070167 0.3786356 0.08475917 0.3785464 0.09908825 0.3813058 0.09908825 0.3813058 0.1126036 0.3868075 0.1247861 0.3948404 0.1247861 0.3948404 0.1351672 0.4050954 0.1433483 0.4171789 0.1433483 0.4171789 0.1490148 0.4306262 0.151949 0.4449205 0.151949 0.4449205 0.1520382 0.4595125 0.1357442 0.4995396 0.1520382 0.4595125 0.1492788 0.4738417 0.1357442 0.4995396 0.1492788 0.4738417 0.143777 0.4873571 0.1357442 0.4995396 0.1357442 0.4995396 0.1254891 0.5099207 0.1134057 0.5181019 0.1134057 0.5181019 0.09995841 0.5237683 0.1357442 0.4995396 0.09995841 0.5237683 0.08566403 0.5267026 0.1357442 0.4995396 0.08566403 0.5267026 0.07107192 0.5267917 0.03104501 0.5104977 0.07107192 0.5267917 0.05674296 0.5240324 0.03104501 0.5104977 0.05674296 0.5240324 0.04322749 0.5185306 0.03104501 0.5104977 0.03104501 0.5104977 0.02066385 0.5002425 0.01248282 0.4881591 0.01248282 0.4881591 0.006816267 0.474712 0.00388211 0.4604176 0.00388211 0.4604176 0.003792941 0.4458253 0.006552278 0.4314963 0.006552278 0.4314963 0.0120542 0.4179809 0.00388211 0.4604176 0.0120542 0.4179809 0.02008694 0.4057985 0.00388211 0.4604176 0.02008694 0.4057985 0.04242545 0.3872363 0.070167 0.3786356 0.070167 0.3786356 0.09908825 0.3813058 0.1247861 0.3948404 0.1247861 0.3948404 0.1433483 0.4171789 0.151949 0.4449205 0.03104501 0.5104977 0.01248282 0.4881591 0.02008694 0.4057985 0.01248282 0.4881591 0.00388211 0.4604176 0.02008694 0.4057985 0.02008694 0.4057985 0.070167 0.3786356 0.1247861 0.3948404 0.1247861 0.3948404 0.151949 0.4449205 0.1357442 0.4995396 0.1357442 0.4995396 0.08566403 0.5267026 0.03104501 0.5104977 0.02008694 0.4057985 0.1247861 0.3948404 0.1357442 0.4995396 0.9868592 0.2551115 0.9869483 0.2697035 0.1508795 0.2698153 0.9867699 0.2405194 0.9868592 0.2551115 0.1507903 0.2552232 0.9866808 0.2259272 0.9867699 0.2405194 0.1507012 0.2406311 0.9865916 0.2113351 0.9866808 0.2259272 0.1506121 0.2260389 0.9865025 0.196743 0.9865916 0.2113351 0.150523 0.2114469 0.9864135 0.1821509 0.9865025 0.196743 0.1504338 0.1968548 0.9863243 0.1675588 0.9864135 0.1821509 0.1503447 0.1822627 0.9862352 0.1529667 0.9863243 0.1675588 0.1502555 0.1676706 0.986146 0.1383746 0.9862352 0.1529667 0.1501664 0.1530785 0.9860569 0.1237825 0.986146 0.1383746 0.1500772 0.1384864 0.9859678 0.1091904 0.9860569 0.1237825 0.1499881 0.1238943 0.9858786 0.09459835 0.9859678 0.1091904 0.149899 0.1093022 0.9857895 0.08000624 0.9858786 0.09459835 0.1498098 0.09471011 0.9857004 0.06541413 0.9857895 0.08000624 0.1497207 0.080118 0.9856112 0.05082195 0.9857004 0.06541413 0.1496316 0.06552588 0.985522 0.03622996 0.9856112 0.05082195 0.1495425 0.05093383 0.9854329 0.02163779 0.985522 0.03622996 0.1494534 0.03634166 0.9853438 0.007045686 0.9854329 0.02163779 0.1493642 0.02174967 0.988107 0.4594009 0.9881961 0.4739929 0.1521273 0.4741047 0.9880178 0.4448087 0.988107 0.4594009 0.1520382 0.4595125 0.9879287 0.4302166 0.9880178 0.4448087 0.151949 0.4449205 0.9878396 0.4156245 0.9879287 0.4302166 0.1518599 0.4303284 0.9877504 0.4010324 0.9878396 0.4156245 0.1517707 0.4157363 0.9876611 0.3864403 0.9877504 0.4010324 0.1516816 0.4011442 0.9875721 0.3718482 0.9876611 0.3864403 0.1515924 0.386552 0.987483 0.3572562 0.9875721 0.3718482 0.1515033 0.3719599 0.9873939 0.3426641 0.987483 0.3572562 0.1514142 0.3573679 0.9873047 0.3280719 0.9873939 0.3426641 0.1513251 0.3427758 0.9872156 0.3134798 0.9873047 0.3280719 0.1512359 0.3281837 0.9871265 0.2988877 0.9872156 0.3134798 0.1511468 0.3135916 0.9870373 0.2842956 0.9871265 0.2988877 0.1510577 0.2989994 0.9869483 0.2697035 0.9870373 0.2842956 0.1509686 0.2844074 0.8054409 0.7045576 0.7875614 0.6914309 0.7535176 0.6352508 0.7875614 0.6914309 0.7725862 0.6750683 0.7535176 0.6352508 0.7725862 0.6750683 0.7610911 0.6560987 0.7535176 0.6352508 0.7535176 0.6352508 0.7501568 0.6133261 0.751138 0.5911668 0.751138 0.5911668 0.7564232 0.5696251 0.7658097 0.5495281 0.7658097 0.5495281 0.7789362 0.5316486 0.7952989 0.5166734 0.7952989 0.5166734 0.8142688 0.5051782 0.8351165 0.4976048 0.8351165 0.4976048 0.8570411 0.494244 0.8792003 0.4952251 0.8792003 0.4952251 0.9007424 0.5005105 0.8351165 0.4976048 0.9007424 0.5005105 0.9208392 0.5098969 0.8351165 0.4976048 0.9208392 0.5098969 0.9387187 0.5230236 0.9727622 0.5792038 0.9387187 0.5230236 0.9536939 0.5393863 0.9727622 0.5792038 0.9536939 0.5393863 0.9651889 0.5583559 0.9727622 0.5792038 0.9727622 0.5792038 0.9761231 0.6011285 0.9604704 0.6649262 0.9761231 0.6011285 0.9751419 0.6232877 0.9604704 0.6649262 0.9751419 0.6232877 0.9698567 0.6448295 0.9604704 0.6649262 0.9604704 0.6649262 0.9473436 0.6828059 0.8911635 0.7168496 0.9473436 0.6828059 0.930981 0.697781 0.8911635 0.7168496 0.930981 0.697781 0.9120115 0.7092761 0.8911635 0.7168496 0.8911635 0.7168496 0.8692387 0.7202103 0.8470798 0.7192292 0.8470798 0.7192292 0.825538 0.7139441 0.8054409 0.7045576 0.7535176 0.6352508 0.751138 0.5911668 0.8054409 0.7045576 0.751138 0.5911668 0.7658097 0.5495281 0.8054409 0.7045576 0.7658097 0.5495281 0.7952989 0.5166734 0.9208392 0.5098969 0.7952989 0.5166734 0.8351165 0.4976048 0.9208392 0.5098969 0.8911635 0.7168496 0.8470798 0.7192292 0.9604704 0.6649262 0.8470798 0.7192292 0.8054409 0.7045576 0.9604704 0.6649262 0.9208392 0.5098969 0.9727622 0.5792038 0.9604704 0.6649262 0.8054409 0.7045576 0.7658097 0.5495281 0.9604704 0.6649262</float_array>
+          <technique_common>
+            <accessor source="#Cube-mesh-map-0-array" count="468" stride="2">
+              <param name="S" type="float"/>
+              <param name="T" type="float"/>
+            </accessor>
+          </technique_common>
+        </source>
+        <vertices id="Cube-mesh-vertices">
+          <input semantic="POSITION" source="#Cube-mesh-positions"/>
+        </vertices>
+        <triangles material="Material-material" count="156">
+          <input semantic="VERTEX" source="#Cube-mesh-vertices" offset="0"/>
+          <input semantic="NORMAL" source="#Cube-mesh-normals" offset="1"/>
+          <input semantic="TEXCOORD" source="#Cube-mesh-map-0" offset="2" set="0"/>
+          <p>17 0 0 87 1 1 14 2 2 20 3 3 87 1 4 17 0 5 23 4 6 87 1 7 20 3 8 26 5 9 87 1 10 23 4 11 29 6 12 87 1 13 26 5 14 32 7 15 87 1 16 29 6 17 35 8 18 87 1 19 32 7 20 38 9 21 87 1 22 35 8 23 41 10 24 87 1 25 38 9 26 44 11 27 87 1 28 41 10 29 14 2 30 87 1 31 11 12 32 24 13 33 36 14 34 3 15 35 78 16 36 3 15 37 46 17 38 77 18 39 46 17 40 45 19 41 76 20 42 45 19 43 43 21 44 75 22 45 43 21 46 42 23 47 74 24 48 42 23 49 40 25 50 73 26 51 40 25 52 39 27 53 72 28 54 39 27 55 37 29 56 71 30 57 37 29 58 36 14 59 70 31 60 36 14 61 34 32 62 69 33 63 34 32 64 33 34 65 68 35 66 33 34 67 31 36 68 67 37 69 31 36 70 30 38 71 66 39 72 30 38 73 28 40 74 65 41 75 28 40 76 27 42 77 64 43 78 27 42 79 25 44 80 63 45 81 25 44 82 24 13 83 62 46 84 24 13 85 22 47 86 61 48 87 22 47 88 21 49 89 60 50 90 21 49 91 19 51 92 59 52 93 19 51 94 18 53 95 58 54 96 18 53 97 16 55 98 57 56 99 16 55 100 15 57 101 56 58 102 15 57 103 13 59 104 55 60 105 13 59 106 12 61 107 54 62 108 12 61 109 10 63 110 53 64 111 10 63 112 9 65 113 52 66 114 9 65 115 7 67 116 51 68 117 7 67 118 6 69 119 50 70 120 6 69 121 4 71 122 49 72 123 4 71 124 0 73 125 48 74 126 0 73 127 2 75 128 47 76 129 2 75 130 3 15 131 11 12 132 87 1 133 8 77 134 8 77 135 87 1 136 5 78 137 5 78 138 87 1 139 1 79 140 1 79 141 87 1 142 79 80 143 79 80 144 87 1 145 80 81 146 80 81 147 87 1 148 81 82 149 81 82 150 87 1 151 82 83 152 82 83 153 87 1 154 83 84 155 83 84 156 87 1 157 84 85 158 84 85 159 87 1 160 85 86 161 85 86 162 87 1 163 86 87 164 86 87 165 87 1 166 88 88 167 88 88 168 87 1 169 89 89 170 89 89 171 87 1 172 90 90 173 90 90 174 87 1 175 91 91 176 91 91 177 87 1 178 92 92 179 92 92 180 87 1 181 93 93 182 93 93 183 87 1 184 94 94 185 94 94 186 87 1 187 95 95 188 81 82 189 90 90 190 41 10 191 95 95 192 87 1 193 96 96 194 96 96 195 87 1 196 44 11 197 3 15 198 2 75 199 0 73 200 0 73 201 4 71 202 6 69 203 6 69 204 7 67 205 9 65 206 9 65 207 10 63 208 12 61 209 12 61 210 13 59 211 15 57 212 15 57 213 16 55 214 18 53 215 18 53 216 19 51 217 24 13 218 19 51 219 21 49 220 24 13 221 21 49 222 22 47 223 24 13 224 24 13 225 25 44 226 27 42 227 27 42 228 28 40 229 24 13 230 28 40 231 30 38 232 24 13 233 30 38 234 31 36 235 36 14 236 31 36 237 33 34 238 36 14 239 33 34 240 34 32 241 36 14 242 36 14 243 37 29 244 39 27 245 39 27 246 40 25 247 42 23 248 42 23 249 43 21 250 45 19 251 45 19 252 46 17 253 42 23 254 46 17 255 3 15 256 42 23 257 3 15 258 0 73 259 6 69 260 6 69 261 9 65 262 12 61 263 12 61 264 15 57 265 18 53 266 36 14 267 39 27 268 3 15 269 39 27 270 42 23 271 3 15 272 3 15 273 6 69 274 12 61 275 12 61 276 18 53 277 24 13 278 24 13 279 30 38 280 36 14 281 3 15 282 12 61 283 24 13 284 78 16 285 47 76 286 3 15 287 77 18 288 78 16 289 46 17 290 76 20 291 77 18 292 45 19 293 75 22 294 76 20 295 43 21 296 74 24 297 75 22 298 42 23 299 73 26 300 74 24 301 40 25 302 72 28 303 73 26 304 39 27 305 71 30 306 72 28 307 37 29 308 70 31 309 71 30 310 36 14 311 69 33 312 70 31 313 34 32 314 68 35 315 69 33 316 33 34 317 67 37 318 68 35 319 31 36 320 66 39 321 67 37 322 30 38 323 65 41 324 66 39 325 28 40 326 64 43 327 65 41 328 27 42 329 63 45 330 64 43 331 25 44 332 62 46 333 63 45 334 24 13 335 61 48 336 62 46 337 22 47 338 60 50 339 61 48 340 21 49 341 59 52 342 60 50 343 19 51 344 58 54 345 59 52 346 18 53 347 57 56 348 58 54 349 16 55 350 56 58 351 57 56 352 15 57 353 55 60 354 56 58 355 13 59 356 54 62 357 55 60 358 12 61 359 53 64 360 54 62 361 10 63 362 52 66 363 53 64 364 9 65 365 51 68 366 52 66 367 7 67 368 50 70 369 51 68 370 6 69 371 49 72 372 50 70 373 4 71 374 48 74 375 49 72 376 0 73 377 47 76 378 48 74 379 2 75 380 17 0 381 14 2 382 5 78 383 14 2 384 11 12 385 5 78 386 11 12 387 8 77 388 5 78 389 5 78 390 1 79 391 79 80 392 79 80 393 80 81 394 81 82 395 81 82 396 82 83 397 83 84 398 83 84 399 84 85 400 85 86 401 85 86 402 86 87 403 88 88 404 88 88 405 89 89 406 85 86 407 89 89 408 90 90 409 85 86 410 90 90 411 91 91 412 94 94 413 91 91 414 92 92 415 94 94 416 92 92 417 93 93 418 94 94 419 94 94 420 95 95 421 41 10 422 95 95 423 96 96 424 41 10 425 96 96 426 44 11 427 41 10 428 41 10 429 38 9 430 29 6 431 38 9 432 35 8 433 29 6 434 35 8 435 32 7 436 29 6 437 29 6 438 26 5 439 23 4 440 23 4 441 20 3 442 17 0 443 5 78 444 79 80 445 17 0 446 79 80 447 81 82 448 17 0 449 81 82 450 83 84 451 90 90 452 83 84 453 85 86 454 90 90 455 29 6 456 23 4 457 41 10 458 23 4 459 17 0 460 41 10 461 90 90 462 94 94 463 41 10 464 17 0 465 81 82 466 41 10 467</p>
+        </triangles>
+      </mesh>
+    </geometry>
+  </library_geometries>
+  <library_visual_scenes>
+    <visual_scene id="Scene" name="Scene">
+      <node id="Arrow" name="Arrow" type="NODE">
+        <matrix sid="transform">1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1</matrix>
+        <instance_geometry url="#Cube-mesh" name="Arrow">
+          <bind_material>
+            <technique_common>
+              <instance_material symbol="Material-material" target="#Material-material">
+                <bind_vertex_input semantic="UVMap" input_semantic="TEXCOORD" input_set="0"/>
+              </instance_material>
+            </technique_common>
+          </bind_material>
+        </instance_geometry>
+      </node>
+    </visual_scene>
+  </library_visual_scenes>
+  <scene>
+    <instance_visual_scene url="#Scene"/>
+  </scene>
+</COLLADA>
\ No newline at end of file
diff --git a/deltarobot-vr/Assets/Meshes/arrow.dae.meta b/deltarobot-vr/Assets/Meshes/arrow.dae.meta
new file mode 100644
index 0000000..2a11f1a
--- /dev/null
+++ b/deltarobot-vr/Assets/Meshes/arrow.dae.meta
@@ -0,0 +1,102 @@
+fileFormatVersion: 2
+guid: 1ffbbc97c545f1646bc46cf25ff2c08a
+ModelImporter:
+  serializedVersion: 20200
+  internalIDToNameTable: []
+  externalObjects: {}
+  materials:
+    materialImportMode: 0
+    materialName: 0
+    materialSearch: 1
+    materialLocation: 1
+  animations:
+    legacyGenerateAnimations: 4
+    bakeSimulation: 0
+    resampleCurves: 1
+    optimizeGameObjects: 0
+    motionNodeName: 
+    rigImportErrors: 
+    rigImportWarnings: 
+    animationImportErrors: 
+    animationImportWarnings: 
+    animationRetargetingWarnings: 
+    animationDoRetargetingWarnings: 0
+    importAnimatedCustomProperties: 0
+    importConstraints: 0
+    animationCompression: 1
+    animationRotationError: 0.5
+    animationPositionError: 0.5
+    animationScaleError: 0.5
+    animationWrapMode: 0
+    extraExposedTransformPaths: []
+    extraUserProperties: []
+    clipAnimations: []
+    isReadable: 0
+  meshes:
+    lODScreenPercentages: []
+    globalScale: 1
+    meshCompression: 0
+    addColliders: 0
+    useSRGBMaterialColor: 1
+    sortHierarchyByName: 1
+    importVisibility: 1
+    importBlendShapes: 1
+    importCameras: 1
+    importLights: 1
+    fileIdsGeneration: 2
+    swapUVChannels: 0
+    generateSecondaryUV: 0
+    useFileUnits: 1
+    keepQuads: 0
+    weldVertices: 1
+    bakeAxisConversion: 0
+    preserveHierarchy: 0
+    skinWeightsMode: 0
+    maxBonesPerVertex: 4
+    minBoneWeight: 0.001
+    meshOptimizationFlags: -1
+    indexFormat: 0
+    secondaryUVAngleDistortion: 8
+    secondaryUVAreaDistortion: 15.000001
+    secondaryUVHardAngle: 88
+    secondaryUVMarginMethod: 1
+    secondaryUVMinLightmapResolution: 40
+    secondaryUVMinObjectScale: 1
+    secondaryUVPackMargin: 4
+    useFileScale: 1
+  tangentSpace:
+    normalSmoothAngle: 60
+    normalImportMode: 0
+    tangentImportMode: 3
+    normalCalculationMode: 4
+    legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
+    blendShapeNormalImportMode: 1
+    normalSmoothingSource: 0
+  referencedClips: []
+  importAnimation: 0
+  humanDescription:
+    serializedVersion: 3
+    human: []
+    skeleton: []
+    armTwist: 0.5
+    foreArmTwist: 0.5
+    upperLegTwist: 0.5
+    legTwist: 0.5
+    armStretch: 0.05
+    legStretch: 0.05
+    feetSpacing: 0
+    globalScale: 1
+    rootMotionBoneName: 
+    hasTranslationDoF: 0
+    hasExtraRoot: 0
+    skeletonHasParents: 1
+  lastHumanDescriptionAvatarSource: {instanceID: 0}
+  autoGenerateAvatarMappingIfUnspecified: 1
+  animationType: 0
+  humanoidOversampling: 1
+  avatarSetup: 0
+  addHumanoidExtraRootOnlyWhenUsingAvatar: 1
+  additionalBone: 0
+  userData: 
+  assetBundleName: 
+  assetBundleVariant: 
diff --git a/deltarobot-vr/Assets/Scenes/MainScene.unity b/deltarobot-vr/Assets/Scenes/MainScene.unity
index a706ed4..12c9446 100644
--- a/deltarobot-vr/Assets/Scenes/MainScene.unity
+++ b/deltarobot-vr/Assets/Scenes/MainScene.unity
@@ -162,7 +162,7 @@ LineRenderer:
   m_PrefabAsset: {fileID: 0}
   m_GameObject: {fileID: 67930113}
   m_Enabled: 1
-  m_CastShadows: 1
+  m_CastShadows: 2
   m_ReceiveShadows: 1
   m_DynamicOccludee: 1
   m_MotionVectors: 0
@@ -279,7 +279,7 @@ GameObject:
   - component: {fileID: 86918160}
   - component: {fileID: 86918159}
   m_Layer: 0
-  m_Name: DirArrow
+  m_Name: TargetDirection
   m_TagString: Untagged
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
@@ -331,7 +331,7 @@ MeshRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 2100000, guid: b01c4eddab52a9d47b02db54cc78e6c2, type: 2}
+  - {fileID: 2100000, guid: e2bc3c456e5936babaf6b4ec7434e213, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -1066,7 +1066,7 @@ MeshRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 2100000, guid: 62f2cab33e7d65346be49f4912bdd9ee, type: 2}
+  - {fileID: 2100000, guid: c14ddb25b53d5c1d38abd988a0ff268e, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
@@ -1185,7 +1185,7 @@ GameObject:
   - component: {fileID: 1535691007}
   - component: {fileID: 1535691009}
   m_Layer: 0
-  m_Name: CurArrow
+  m_Name: ActualDirection
   m_TagString: Untagged
   m_Icon: {fileID: 0}
   m_NavMeshLayer: 0
@@ -1224,7 +1224,7 @@ MeshRenderer:
   m_RenderingLayerMask: 1
   m_RendererPriority: 0
   m_Materials:
-  - {fileID: 2100000, guid: ba5e94541fd24e84d8a7cef22c83d162, type: 2}
+  - {fileID: 2100000, guid: 306843c96e6ccc5e292e116d1d3418a6, type: 2}
   m_StaticBatchInfo:
     firstSubMesh: 0
     subMeshCount: 0
diff --git a/deltarobot-vr/Assets/arrow.dae b/deltarobot-vr/Assets/arrow.dae
deleted file mode 100644
index 000d859..0000000
--- a/deltarobot-vr/Assets/arrow.dae
+++ /dev/null
@@ -1,101 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>
-<COLLADA xmlns="http://www.collada.org/2005/11/COLLADASchema" version="1.4.1" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
-  <asset>
-    <contributor>
-      <author>Blender User</author>
-      <authoring_tool>Blender 2.80.75 commit date:2019-07-29, commit time:14:47, hash:f6cb5f54494e</authoring_tool>
-    </contributor>
-    <created>2021-05-23T17:11:54</created>
-    <modified>2021-05-23T17:11:54</modified>
-    <unit name="meter" meter="1"/>
-    <up_axis>Z_UP</up_axis>
-  </asset>
-  <library_effects>
-    <effect id="Material-effect">
-      <profile_COMMON>
-        <technique sid="common">
-          <lambert>
-            <emission>
-              <color sid="emission">0 0 0 1</color>
-            </emission>
-            <diffuse>
-              <color sid="diffuse">0.8 0.8 0.8 1</color>
-            </diffuse>
-            <index_of_refraction>
-              <float sid="ior">1.45</float>
-            </index_of_refraction>
-          </lambert>
-        </technique>
-      </profile_COMMON>
-    </effect>
-  </library_effects>
-  <library_images/>
-  <library_materials>
-    <material id="Material-material" name="Material">
-      <instance_effect url="#Material-effect"/>
-    </material>
-  </library_materials>
-  <library_geometries>
-    <geometry id="Cube-mesh" name="Cube">
-      <mesh>
-        <source id="Cube-mesh-positions">
-          <float_array id="Cube-mesh-positions-array" count="291">0.01722079 0.04157483 0 0.03673768 -0.08869218 0.8560011 0.008779108 0.04413563 0 0 0.04500025 0 0.02500069 0.03741639 0 0.05333483 -0.07982081 0.8560011 0.03181982 0.03182005 0 0.03741616 0.02500092 0 0.06788235 -0.067882 0.8560011 0.04157459 0.01722103 0 0.04413539 0.008779346 0 0.07982116 -0.05333447 0.8560011 0.04500001 3.07484e-7 0 0.04413539 -0.00877875 0 0.08869254 -0.03673732 0.8560011 0.04157459 -0.01722043 0 0.03741616 -0.02500033 0 0.09415549 -0.01872837 0.8560011 0.03181982 -0.03181946 0 0.02500069 -0.0374158 0 0.09600013 2.7227e-7 0.8560011 0.01722079 -0.04157423 0 0.008779108 -0.04413503 0 0.09415549 0.01872891 0.8560011 0 -0.04499965 0 -0.008778989 -0.04413503 0 0.08869254 0.03673785 0.8560011 -0.01722067 -0.04157423 0 -0.02500063 -0.0374158 0 0.07982116 0.05333501 0.8560011 -0.03181976 -0.03181946 0 -0.0374161 -0.02500027 0 0.06788235 0.06788253 0.8560011 -0.04157453 -0.01722037 0 -0.04413527 -0.008778691 0 0.05333483 0.07982134 0.8560011 -0.04499995 3.47538e-7 0 -0.04413527 0.008779406 0 0.03673768 0.08869266 0.8560011 -0.04157447 0.01722109 0 -0.03741604 0.02500098 0 0.01872879 0.0941556 0.8560011 -0.0318197 0.03182011 0 -0.02500051 0.03741645 0 1.23459e-7 0.09600025 0.8560011 -0.01722061 0.04157489 0 -0.008778929 0.04413563 0 0 0.04500025 0.9 0.008779108 0.04413563 0.9 0.01722079 0.04157483 0.9 0.02500069 0.03741639 0.9 0.03181982 0.03182005 0.9 0.03741616 0.02500092 0.9 0.04157459 0.01722103 0.9 0.04413539 0.008779346 0.9 0.04500001 3.07484e-7 0.9 0.04413539 -0.00877875 0.9 0.04157459 -0.01722043 0.9 0.03741616 -0.02500033 0.9 0.03181982 -0.03181946 0.9 0.02500069 -0.0374158 0.9 0.01722079 -0.04157423 0.9 0.008779108 -0.04413503 0.9 0 -0.04499965 0.9 -0.008778989 -0.04413503 0.9 -0.01722067 -0.04157423 0.9 -0.02500063 -0.0374158 0.9 -0.03181976 -0.03181946 0.9 -0.0374161 -0.02500027 0.9 -0.04157453 -0.01722037 0.9 -0.04413527 -0.008778691 0.9 -0.04499995 3.47538e-7 0.9 -0.04413527 0.008779406 0.9 -0.04157447 0.01722109 0.9 -0.03741604 0.02500098 0.9 -0.0318197 0.03182011 0.9 -0.02500051 0.03741645 0.9 -0.01722061 0.04157489 0.9 -0.008778929 0.04413563 0.9 0.01872873 -0.09415507 0.8560011 0 -0.09599971 0.8560011 -0.01872855 -0.09415507 0.8560011 -0.0367375 -0.08869212 0.8560011 -0.05333465 -0.07982075 0.8560011 -0.06788212 -0.06788194 0.8560011 -0.07982099 -0.05333441 0.8560011 -0.0886923 -0.03673726 0.8560011 1.23459e-7 2.65022e-7 1.000001 -0.09415525 -0.01872831 0.8560011 -0.09599983 3.5772e-7 0.8560011 -0.09415525 0.01872903 0.8560011 -0.08869224 0.03673797 0.8560011 -0.07982087 0.05333507 0.8560011 -0.06788206 0.06788259 0.8560011 -0.05333447 0.0798214 0.8560011 -0.03673732 0.08869272 0.8560011 -0.01872837 0.09415566 0.8560011</float_array>
-          <technique_common>
-            <accessor source="#Cube-mesh-positions-array" count="97" stride="3">
-              <param name="X" type="float"/>
-              <param name="Y" type="float"/>
-              <param name="Z" type="float"/>
-            </accessor>
-          </technique_common>
-        </source>
-        <source id="Cube-mesh-normals">
-          <float_array id="Cube-mesh-normals-array" count="291">0.8756997 -0.1741755 -0.4503477 0 0 1 0.8249009 -0.3416614 -0.4503399 0.8928592 0 -0.450336 0.8756997 0.1741755 -0.4503477 0.8248713 0.3416923 -0.4503709 0.7423874 0.4960338 -0.4503461 0.6313582 0.6313277 -0.4503467 0.4960338 0.7423874 -0.4503461 0.3416614 0.8249009 -0.4503399 0.1741755 0.8756997 -0.4503477 0 0.8928592 -0.450336 0.7423874 -0.4960338 -0.4503461 0 -0.727881 -0.6857035 -0.727881 0 -0.6857035 0 0.727881 -0.6857035 -0.1950772 0.9807879 0 -0.1420046 0.7138987 -0.6856992 -0.3826816 0.9238803 0 -0.2785453 0.6724823 -0.6856969 -0.5555732 0.8314677 0 -0.4043767 0.6052222 -0.6857008 -0.7071068 0.7071068 0 -0.5146744 0.5147049 -0.6857035 -0.8314677 0.5555732 0 -0.6052222 0.4043767 -0.6857008 -0.9238803 0.3826816 0 -0.6724823 0.2785453 -0.6856969 -0.9807879 0.1950772 0 -0.7138987 0.1420046 -0.6856992 -1 0 0 -0.9807879 -0.1950772 0 -0.7138987 -0.1420046 -0.6856992 -0.9238803 -0.3826816 0 -0.6724823 -0.2785453 -0.6856969 -0.8314677 -0.5555732 0 -0.6052222 -0.4043767 -0.6857008 -0.7071068 -0.7071068 0 -0.5146825 -0.5146825 -0.6857143 -0.5555732 -0.8314677 0 -0.4043767 -0.6052222 -0.6857008 -0.3826816 -0.9238803 0 -0.2785453 -0.6724823 -0.6856969 -0.1950772 -0.9807879 0 -0.1420046 -0.7138987 -0.6856992 0 -1 0 0.1950772 -0.9807879 0 0.1420046 -0.7138987 -0.6856992 0.3826816 -0.9238803 0 0.2785453 -0.6724823 -0.6856969 0.5555732 -0.8314677 0 0.4043767 -0.6052222 -0.6857008 0.7071068 -0.7071068 0 0.5146825 -0.5146825 -0.6857143 0.8314677 -0.5555732 0 0.6052222 -0.4043767 -0.6857008 0.9238803 -0.3826816 0 0.6724823 -0.2785453 -0.6856969 0.9807879 -0.1950772 0 0.7138987 -0.1420046 -0.6856992 1 0 0 0.727881 0 -0.6857035 0.9807879 0.1950772 0 0.7138987 0.1420046 -0.6856992 0.9238803 0.3826816 0 0.6724823 0.2785453 -0.6856969 0.8314677 0.5555732 0 0.6052222 0.4043767 -0.6857008 0.7071068 0.7071068 0 0.5146825 0.5146825 -0.6857143 0.5555732 0.8314677 0 0.4043767 0.6052222 -0.6857008 0.3826816 0.9238803 0 0.2785453 0.6724823 -0.6856969 0.1950772 0.9807879 0 0.1420046 0.7138987 -0.6856992 0 1 0 0.6313461 -0.6313461 -0.450338 0.4960338 -0.7423874 -0.4503461 0.3416614 -0.8249009 -0.4503399 0.1741755 -0.8756997 -0.4503477 0 -0.8928592 -0.450336 -0.1741755 -0.8756997 -0.4503477 -0.3416614 -0.8249009 -0.4503399 -0.4960338 -0.7423874 -0.4503461 -0.6313277 -0.6313582 -0.4503467 -0.7423874 -0.4960338 -0.4503461 -0.8249009 -0.3416614 -0.4503399 -0.8756997 -0.1741755 -0.4503477 -0.8928592 0 -0.450336 -0.8756997 0.1741755 -0.4503477 -0.8249009 0.3416614 -0.4503399 -0.7423874 0.4960338 -0.4503461 -0.6313461 0.6313461 -0.450338 -0.4960338 0.7423874 -0.4503461 -0.3416614 0.8249009 -0.4503399 -0.1741755 0.8756997 -0.4503477</float_array>
-          <technique_common>
-            <accessor source="#Cube-mesh-normals-array" count="97" stride="3">
-              <param name="X" type="float"/>
-              <param name="Y" type="float"/>
-              <param name="Z" type="float"/>
-            </accessor>
-          </technique_common>
-        </source>
-        <source id="Cube-mesh-map-0">
-          <float_array id="Cube-mesh-map-0-array" count="936">0.7429851 0.7226861 0.5505128 0.6551491 0.7491803 0.7013883 0.734514 0.7431854 0.5505128 0.6551491 0.7429851 0.7226861 0.7238673 0.7626436 0.5505128 0.6551491 0.734514 0.7431854 0.7111707 0.7808309 0.5505128 0.6551491 0.7238673 0.7626436 0.6965743 0.7975319 0.5505128 0.6551491 0.7111707 0.7808309 0.6802508 0.8125495 0.5505128 0.6551491 0.6965743 0.7975319 0.6623932 0.8257059 0.5505128 0.6551491 0.6802508 0.8125495 0.6432126 0.8368455 0.5505128 0.6551491 0.6623932 0.8257059 0.622936 0.8458366 0.5505128 0.6551491 0.6432126 0.8368455 0.6018031 0.8525728 0.5505128 0.6551491 0.622936 0.8458366 0.7491803 0.7013883 0.5505128 0.6551491 0.7530264 0.6795437 0.1357442 0.4995396 0.03104501 0.5104977 0.02008694 0.4057985 0.9868592 0.2551115 0.1508795 0.2698153 0.1507903 0.2552232 0.9867699 0.2405194 0.1507903 0.2552232 0.1507012 0.2406311 0.9866808 0.2259272 0.1507012 0.2406311 0.1506121 0.2260389 0.9865916 0.2113351 0.1506121 0.2260389 0.150523 0.2114469 0.9865025 0.196743 0.150523 0.2114469 0.1504338 0.1968548 0.9864135 0.1821509 0.1504338 0.1968548 0.1503447 0.1822627 0.9863243 0.1675588 0.1503447 0.1822627 0.1502555 0.1676706 0.9862352 0.1529667 0.1502555 0.1676706 0.1501664 0.1530785 0.986146 0.1383746 0.1501664 0.1530785 0.1500772 0.1384864 0.9860569 0.1237825 0.1500772 0.1384864 0.1499881 0.1238943 0.9859678 0.1091904 0.1499881 0.1238943 0.149899 0.1093022 0.9858786 0.09459835 0.149899 0.1093022 0.1498098 0.09471011 0.9857895 0.08000624 0.1498098 0.09471011 0.1497207 0.080118 0.9857004 0.06541413 0.1497207 0.080118 0.1496316 0.06552588 0.9856112 0.05082195 0.1496316 0.06552588 0.1495425 0.05093383 0.985522 0.03622996 0.1495425 0.05093383 0.1494534 0.03634166 0.9854329 0.02163779 0.1494534 0.03634166 0.1493642 0.02174967 0.9853438 0.007045686 0.1493642 0.02174967 0.1492751 0.007157444 0.988107 0.4594009 0.1521273 0.4741047 0.1520382 0.4595125 0.9880178 0.4448087 0.1520382 0.4595125 0.151949 0.4449205 0.9879287 0.4302166 0.151949 0.4449205 0.1518599 0.4303284 0.9878396 0.4156245 0.1518599 0.4303284 0.1517707 0.4157363 0.9877504 0.4010324 0.1517707 0.4157363 0.1516816 0.4011442 0.9876611 0.3864403 0.1516816 0.4011442 0.1515924 0.386552 0.9875721 0.3718482 0.1515924 0.386552 0.1515033 0.3719599 0.987483 0.3572562 0.1515033 0.3719599 0.1514142 0.3573679 0.9873939 0.3426641 0.1514142 0.3573679 0.1513251 0.3427758 0.9873047 0.3280719 0.1513251 0.3427758 0.1512359 0.3281837 0.9872156 0.3134798 0.1512359 0.3281837 0.1511468 0.3135916 0.9871265 0.2988877 0.1511468 0.3135916 0.1510577 0.2989994 0.9870373 0.2842956 0.1510577 0.2989994 0.1509686 0.2844074 0.9869483 0.2697035 0.1509686 0.2844074 0.1508795 0.2698153 0.7530264 0.6795437 0.5505128 0.6551491 0.754478 0.6574108 0.754478 0.6574108 0.5505128 0.6551491 0.7535176 0.6352508 0.7535176 0.6352508 0.5505128 0.6551491 0.7501568 0.6133261 0.3483455 0.6280347 0.5505128 0.6551491 0.3465966 0.6501463 0.3465966 0.6501463 0.5505128 0.6551491 0.3472591 0.6723172 0.3472591 0.6723172 0.5505128 0.6551491 0.3503248 0.6942848 0.3503248 0.6942848 0.5505128 0.6551491 0.3557577 0.7157896 0.3557577 0.7157896 0.5505128 0.6551491 0.3634935 0.7365775 0.3634935 0.7365775 0.5505128 0.6551491 0.3734406 0.7564025 0.3734406 0.7564025 0.5505128 0.6551491 0.3854817 0.7750304 0.3854817 0.7750304 0.5505128 0.6551491 0.3994741 0.7922407 0.3994741 0.7922407 0.5505128 0.6551491 0.4152525 0.80783 0.4152525 0.80783 0.5505128 0.6551491 0.4326303 0.8216139 0.4326303 0.8216139 0.5505128 0.6551491 0.451402 0.8334294 0.451402 0.8334294 0.5505128 0.6551491 0.4713457 0.8431369 0.4713457 0.8431369 0.5505128 0.6551491 0.4922255 0.8506214 0.4922255 0.8506214 0.5505128 0.6551491 0.5137947 0.8557945 0.5137947 0.8557945 0.5505128 0.6551491 0.5357977 0.8585951 0.5357977 0.8585951 0.5505128 0.6551491 0.5579748 0.85899 0.7658097 0.5495281 0.9208392 0.5098969 0.9604704 0.6649262 0.5579748 0.85899 0.5505128 0.6551491 0.5800637 0.8569747 0.5800637 0.8569747 0.5505128 0.6551491 0.6018031 0.8525728 0.02008694 0.4057985 0.0303421 0.3954173 0.04242545 0.3872363 0.04242545 0.3872363 0.05587261 0.3815698 0.070167 0.3786356 0.070167 0.3786356 0.08475917 0.3785464 0.09908825 0.3813058 0.09908825 0.3813058 0.1126036 0.3868075 0.1247861 0.3948404 0.1247861 0.3948404 0.1351672 0.4050954 0.1433483 0.4171789 0.1433483 0.4171789 0.1490148 0.4306262 0.151949 0.4449205 0.151949 0.4449205 0.1520382 0.4595125 0.1357442 0.4995396 0.1520382 0.4595125 0.1492788 0.4738417 0.1357442 0.4995396 0.1492788 0.4738417 0.143777 0.4873571 0.1357442 0.4995396 0.1357442 0.4995396 0.1254891 0.5099207 0.1134057 0.5181019 0.1134057 0.5181019 0.09995841 0.5237683 0.1357442 0.4995396 0.09995841 0.5237683 0.08566403 0.5267026 0.1357442 0.4995396 0.08566403 0.5267026 0.07107192 0.5267917 0.03104501 0.5104977 0.07107192 0.5267917 0.05674296 0.5240324 0.03104501 0.5104977 0.05674296 0.5240324 0.04322749 0.5185306 0.03104501 0.5104977 0.03104501 0.5104977 0.02066385 0.5002425 0.01248282 0.4881591 0.01248282 0.4881591 0.006816267 0.474712 0.00388211 0.4604176 0.00388211 0.4604176 0.003792941 0.4458253 0.006552278 0.4314963 0.006552278 0.4314963 0.0120542 0.4179809 0.00388211 0.4604176 0.0120542 0.4179809 0.02008694 0.4057985 0.00388211 0.4604176 0.02008694 0.4057985 0.04242545 0.3872363 0.070167 0.3786356 0.070167 0.3786356 0.09908825 0.3813058 0.1247861 0.3948404 0.1247861 0.3948404 0.1433483 0.4171789 0.151949 0.4449205 0.03104501 0.5104977 0.01248282 0.4881591 0.02008694 0.4057985 0.01248282 0.4881591 0.00388211 0.4604176 0.02008694 0.4057985 0.02008694 0.4057985 0.070167 0.3786356 0.1247861 0.3948404 0.1247861 0.3948404 0.151949 0.4449205 0.1357442 0.4995396 0.1357442 0.4995396 0.08566403 0.5267026 0.03104501 0.5104977 0.02008694 0.4057985 0.1247861 0.3948404 0.1357442 0.4995396 0.9868592 0.2551115 0.9869483 0.2697035 0.1508795 0.2698153 0.9867699 0.2405194 0.9868592 0.2551115 0.1507903 0.2552232 0.9866808 0.2259272 0.9867699 0.2405194 0.1507012 0.2406311 0.9865916 0.2113351 0.9866808 0.2259272 0.1506121 0.2260389 0.9865025 0.196743 0.9865916 0.2113351 0.150523 0.2114469 0.9864135 0.1821509 0.9865025 0.196743 0.1504338 0.1968548 0.9863243 0.1675588 0.9864135 0.1821509 0.1503447 0.1822627 0.9862352 0.1529667 0.9863243 0.1675588 0.1502555 0.1676706 0.986146 0.1383746 0.9862352 0.1529667 0.1501664 0.1530785 0.9860569 0.1237825 0.986146 0.1383746 0.1500772 0.1384864 0.9859678 0.1091904 0.9860569 0.1237825 0.1499881 0.1238943 0.9858786 0.09459835 0.9859678 0.1091904 0.149899 0.1093022 0.9857895 0.08000624 0.9858786 0.09459835 0.1498098 0.09471011 0.9857004 0.06541413 0.9857895 0.08000624 0.1497207 0.080118 0.9856112 0.05082195 0.9857004 0.06541413 0.1496316 0.06552588 0.985522 0.03622996 0.9856112 0.05082195 0.1495425 0.05093383 0.9854329 0.02163779 0.985522 0.03622996 0.1494534 0.03634166 0.9853438 0.007045686 0.9854329 0.02163779 0.1493642 0.02174967 0.988107 0.4594009 0.9881961 0.4739929 0.1521273 0.4741047 0.9880178 0.4448087 0.988107 0.4594009 0.1520382 0.4595125 0.9879287 0.4302166 0.9880178 0.4448087 0.151949 0.4449205 0.9878396 0.4156245 0.9879287 0.4302166 0.1518599 0.4303284 0.9877504 0.4010324 0.9878396 0.4156245 0.1517707 0.4157363 0.9876611 0.3864403 0.9877504 0.4010324 0.1516816 0.4011442 0.9875721 0.3718482 0.9876611 0.3864403 0.1515924 0.386552 0.987483 0.3572562 0.9875721 0.3718482 0.1515033 0.3719599 0.9873939 0.3426641 0.987483 0.3572562 0.1514142 0.3573679 0.9873047 0.3280719 0.9873939 0.3426641 0.1513251 0.3427758 0.9872156 0.3134798 0.9873047 0.3280719 0.1512359 0.3281837 0.9871265 0.2988877 0.9872156 0.3134798 0.1511468 0.3135916 0.9870373 0.2842956 0.9871265 0.2988877 0.1510577 0.2989994 0.9869483 0.2697035 0.9870373 0.2842956 0.1509686 0.2844074 0.8054409 0.7045576 0.7875614 0.6914309 0.7535176 0.6352508 0.7875614 0.6914309 0.7725862 0.6750683 0.7535176 0.6352508 0.7725862 0.6750683 0.7610911 0.6560987 0.7535176 0.6352508 0.7535176 0.6352508 0.7501568 0.6133261 0.751138 0.5911668 0.751138 0.5911668 0.7564232 0.5696251 0.7658097 0.5495281 0.7658097 0.5495281 0.7789362 0.5316486 0.7952989 0.5166734 0.7952989 0.5166734 0.8142688 0.5051782 0.8351165 0.4976048 0.8351165 0.4976048 0.8570411 0.494244 0.8792003 0.4952251 0.8792003 0.4952251 0.9007424 0.5005105 0.8351165 0.4976048 0.9007424 0.5005105 0.9208392 0.5098969 0.8351165 0.4976048 0.9208392 0.5098969 0.9387187 0.5230236 0.9727622 0.5792038 0.9387187 0.5230236 0.9536939 0.5393863 0.9727622 0.5792038 0.9536939 0.5393863 0.9651889 0.5583559 0.9727622 0.5792038 0.9727622 0.5792038 0.9761231 0.6011285 0.9604704 0.6649262 0.9761231 0.6011285 0.9751419 0.6232877 0.9604704 0.6649262 0.9751419 0.6232877 0.9698567 0.6448295 0.9604704 0.6649262 0.9604704 0.6649262 0.9473436 0.6828059 0.8911635 0.7168496 0.9473436 0.6828059 0.930981 0.697781 0.8911635 0.7168496 0.930981 0.697781 0.9120115 0.7092761 0.8911635 0.7168496 0.8911635 0.7168496 0.8692387 0.7202103 0.8470798 0.7192292 0.8470798 0.7192292 0.825538 0.7139441 0.8054409 0.7045576 0.7535176 0.6352508 0.751138 0.5911668 0.8054409 0.7045576 0.751138 0.5911668 0.7658097 0.5495281 0.8054409 0.7045576 0.7658097 0.5495281 0.7952989 0.5166734 0.9208392 0.5098969 0.7952989 0.5166734 0.8351165 0.4976048 0.9208392 0.5098969 0.8911635 0.7168496 0.8470798 0.7192292 0.9604704 0.6649262 0.8470798 0.7192292 0.8054409 0.7045576 0.9604704 0.6649262 0.9208392 0.5098969 0.9727622 0.5792038 0.9604704 0.6649262 0.8054409 0.7045576 0.7658097 0.5495281 0.9604704 0.6649262</float_array>
-          <technique_common>
-            <accessor source="#Cube-mesh-map-0-array" count="468" stride="2">
-              <param name="S" type="float"/>
-              <param name="T" type="float"/>
-            </accessor>
-          </technique_common>
-        </source>
-        <vertices id="Cube-mesh-vertices">
-          <input semantic="POSITION" source="#Cube-mesh-positions"/>
-        </vertices>
-        <triangles material="Material-material" count="156">
-          <input semantic="VERTEX" source="#Cube-mesh-vertices" offset="0"/>
-          <input semantic="NORMAL" source="#Cube-mesh-normals" offset="1"/>
-          <input semantic="TEXCOORD" source="#Cube-mesh-map-0" offset="2" set="0"/>
-          <p>17 0 0 87 1 1 14 2 2 20 3 3 87 1 4 17 0 5 23 4 6 87 1 7 20 3 8 26 5 9 87 1 10 23 4 11 29 6 12 87 1 13 26 5 14 32 7 15 87 1 16 29 6 17 35 8 18 87 1 19 32 7 20 38 9 21 87 1 22 35 8 23 41 10 24 87 1 25 38 9 26 44 11 27 87 1 28 41 10 29 14 2 30 87 1 31 11 12 32 24 13 33 36 14 34 3 15 35 78 16 36 3 15 37 46 17 38 77 18 39 46 17 40 45 19 41 76 20 42 45 19 43 43 21 44 75 22 45 43 21 46 42 23 47 74 24 48 42 23 49 40 25 50 73 26 51 40 25 52 39 27 53 72 28 54 39 27 55 37 29 56 71 30 57 37 29 58 36 14 59 70 31 60 36 14 61 34 32 62 69 33 63 34 32 64 33 34 65 68 35 66 33 34 67 31 36 68 67 37 69 31 36 70 30 38 71 66 39 72 30 38 73 28 40 74 65 41 75 28 40 76 27 42 77 64 43 78 27 42 79 25 44 80 63 45 81 25 44 82 24 13 83 62 46 84 24 13 85 22 47 86 61 48 87 22 47 88 21 49 89 60 50 90 21 49 91 19 51 92 59 52 93 19 51 94 18 53 95 58 54 96 18 53 97 16 55 98 57 56 99 16 55 100 15 57 101 56 58 102 15 57 103 13 59 104 55 60 105 13 59 106 12 61 107 54 62 108 12 61 109 10 63 110 53 64 111 10 63 112 9 65 113 52 66 114 9 65 115 7 67 116 51 68 117 7 67 118 6 69 119 50 70 120 6 69 121 4 71 122 49 72 123 4 71 124 0 73 125 48 74 126 0 73 127 2 75 128 47 76 129 2 75 130 3 15 131 11 12 132 87 1 133 8 77 134 8 77 135 87 1 136 5 78 137 5 78 138 87 1 139 1 79 140 1 79 141 87 1 142 79 80 143 79 80 144 87 1 145 80 81 146 80 81 147 87 1 148 81 82 149 81 82 150 87 1 151 82 83 152 82 83 153 87 1 154 83 84 155 83 84 156 87 1 157 84 85 158 84 85 159 87 1 160 85 86 161 85 86 162 87 1 163 86 87 164 86 87 165 87 1 166 88 88 167 88 88 168 87 1 169 89 89 170 89 89 171 87 1 172 90 90 173 90 90 174 87 1 175 91 91 176 91 91 177 87 1 178 92 92 179 92 92 180 87 1 181 93 93 182 93 93 183 87 1 184 94 94 185 94 94 186 87 1 187 95 95 188 81 82 189 90 90 190 41 10 191 95 95 192 87 1 193 96 96 194 96 96 195 87 1 196 44 11 197 3 15 198 2 75 199 0 73 200 0 73 201 4 71 202 6 69 203 6 69 204 7 67 205 9 65 206 9 65 207 10 63 208 12 61 209 12 61 210 13 59 211 15 57 212 15 57 213 16 55 214 18 53 215 18 53 216 19 51 217 24 13 218 19 51 219 21 49 220 24 13 221 21 49 222 22 47 223 24 13 224 24 13 225 25 44 226 27 42 227 27 42 228 28 40 229 24 13 230 28 40 231 30 38 232 24 13 233 30 38 234 31 36 235 36 14 236 31 36 237 33 34 238 36 14 239 33 34 240 34 32 241 36 14 242 36 14 243 37 29 244 39 27 245 39 27 246 40 25 247 42 23 248 42 23 249 43 21 250 45 19 251 45 19 252 46 17 253 42 23 254 46 17 255 3 15 256 42 23 257 3 15 258 0 73 259 6 69 260 6 69 261 9 65 262 12 61 263 12 61 264 15 57 265 18 53 266 36 14 267 39 27 268 3 15 269 39 27 270 42 23 271 3 15 272 3 15 273 6 69 274 12 61 275 12 61 276 18 53 277 24 13 278 24 13 279 30 38 280 36 14 281 3 15 282 12 61 283 24 13 284 78 16 285 47 76 286 3 15 287 77 18 288 78 16 289 46 17 290 76 20 291 77 18 292 45 19 293 75 22 294 76 20 295 43 21 296 74 24 297 75 22 298 42 23 299 73 26 300 74 24 301 40 25 302 72 28 303 73 26 304 39 27 305 71 30 306 72 28 307 37 29 308 70 31 309 71 30 310 36 14 311 69 33 312 70 31 313 34 32 314 68 35 315 69 33 316 33 34 317 67 37 318 68 35 319 31 36 320 66 39 321 67 37 322 30 38 323 65 41 324 66 39 325 28 40 326 64 43 327 65 41 328 27 42 329 63 45 330 64 43 331 25 44 332 62 46 333 63 45 334 24 13 335 61 48 336 62 46 337 22 47 338 60 50 339 61 48 340 21 49 341 59 52 342 60 50 343 19 51 344 58 54 345 59 52 346 18 53 347 57 56 348 58 54 349 16 55 350 56 58 351 57 56 352 15 57 353 55 60 354 56 58 355 13 59 356 54 62 357 55 60 358 12 61 359 53 64 360 54 62 361 10 63 362 52 66 363 53 64 364 9 65 365 51 68 366 52 66 367 7 67 368 50 70 369 51 68 370 6 69 371 49 72 372 50 70 373 4 71 374 48 74 375 49 72 376 0 73 377 47 76 378 48 74 379 2 75 380 17 0 381 14 2 382 5 78 383 14 2 384 11 12 385 5 78 386 11 12 387 8 77 388 5 78 389 5 78 390 1 79 391 79 80 392 79 80 393 80 81 394 81 82 395 81 82 396 82 83 397 83 84 398 83 84 399 84 85 400 85 86 401 85 86 402 86 87 403 88 88 404 88 88 405 89 89 406 85 86 407 89 89 408 90 90 409 85 86 410 90 90 411 91 91 412 94 94 413 91 91 414 92 92 415 94 94 416 92 92 417 93 93 418 94 94 419 94 94 420 95 95 421 41 10 422 95 95 423 96 96 424 41 10 425 96 96 426 44 11 427 41 10 428 41 10 429 38 9 430 29 6 431 38 9 432 35 8 433 29 6 434 35 8 435 32 7 436 29 6 437 29 6 438 26 5 439 23 4 440 23 4 441 20 3 442 17 0 443 5 78 444 79 80 445 17 0 446 79 80 447 81 82 448 17 0 449 81 82 450 83 84 451 90 90 452 83 84 453 85 86 454 90 90 455 29 6 456 23 4 457 41 10 458 23 4 459 17 0 460 41 10 461 90 90 462 94 94 463 41 10 464 17 0 465 81 82 466 41 10 467</p>
-        </triangles>
-      </mesh>
-    </geometry>
-  </library_geometries>
-  <library_visual_scenes>
-    <visual_scene id="Scene" name="Scene">
-      <node id="Arrow" name="Arrow" type="NODE">
-        <matrix sid="transform">1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1</matrix>
-        <instance_geometry url="#Cube-mesh" name="Arrow">
-          <bind_material>
-            <technique_common>
-              <instance_material symbol="Material-material" target="#Material-material">
-                <bind_vertex_input semantic="UVMap" input_semantic="TEXCOORD" input_set="0"/>
-              </instance_material>
-            </technique_common>
-          </bind_material>
-        </instance_geometry>
-      </node>
-    </visual_scene>
-  </library_visual_scenes>
-  <scene>
-    <instance_visual_scene url="#Scene"/>
-  </scene>
-</COLLADA>
\ No newline at end of file
diff --git a/deltarobot-vr/Assets/arrow.dae.meta b/deltarobot-vr/Assets/arrow.dae.meta
deleted file mode 100644
index 2a11f1a..0000000
--- a/deltarobot-vr/Assets/arrow.dae.meta
+++ /dev/null
@@ -1,102 +0,0 @@
-fileFormatVersion: 2
-guid: 1ffbbc97c545f1646bc46cf25ff2c08a
-ModelImporter:
-  serializedVersion: 20200
-  internalIDToNameTable: []
-  externalObjects: {}
-  materials:
-    materialImportMode: 0
-    materialName: 0
-    materialSearch: 1
-    materialLocation: 1
-  animations:
-    legacyGenerateAnimations: 4
-    bakeSimulation: 0
-    resampleCurves: 1
-    optimizeGameObjects: 0
-    motionNodeName: 
-    rigImportErrors: 
-    rigImportWarnings: 
-    animationImportErrors: 
-    animationImportWarnings: 
-    animationRetargetingWarnings: 
-    animationDoRetargetingWarnings: 0
-    importAnimatedCustomProperties: 0
-    importConstraints: 0
-    animationCompression: 1
-    animationRotationError: 0.5
-    animationPositionError: 0.5
-    animationScaleError: 0.5
-    animationWrapMode: 0
-    extraExposedTransformPaths: []
-    extraUserProperties: []
-    clipAnimations: []
-    isReadable: 0
-  meshes:
-    lODScreenPercentages: []
-    globalScale: 1
-    meshCompression: 0
-    addColliders: 0
-    useSRGBMaterialColor: 1
-    sortHierarchyByName: 1
-    importVisibility: 1
-    importBlendShapes: 1
-    importCameras: 1
-    importLights: 1
-    fileIdsGeneration: 2
-    swapUVChannels: 0
-    generateSecondaryUV: 0
-    useFileUnits: 1
-    keepQuads: 0
-    weldVertices: 1
-    bakeAxisConversion: 0
-    preserveHierarchy: 0
-    skinWeightsMode: 0
-    maxBonesPerVertex: 4
-    minBoneWeight: 0.001
-    meshOptimizationFlags: -1
-    indexFormat: 0
-    secondaryUVAngleDistortion: 8
-    secondaryUVAreaDistortion: 15.000001
-    secondaryUVHardAngle: 88
-    secondaryUVMarginMethod: 1
-    secondaryUVMinLightmapResolution: 40
-    secondaryUVMinObjectScale: 1
-    secondaryUVPackMargin: 4
-    useFileScale: 1
-  tangentSpace:
-    normalSmoothAngle: 60
-    normalImportMode: 0
-    tangentImportMode: 3
-    normalCalculationMode: 4
-    legacyComputeAllNormalsFromSmoothingGroupsWhenMeshHasBlendShapes: 0
-    blendShapeNormalImportMode: 1
-    normalSmoothingSource: 0
-  referencedClips: []
-  importAnimation: 0
-  humanDescription:
-    serializedVersion: 3
-    human: []
-    skeleton: []
-    armTwist: 0.5
-    foreArmTwist: 0.5
-    upperLegTwist: 0.5
-    legTwist: 0.5
-    armStretch: 0.05
-    legStretch: 0.05
-    feetSpacing: 0
-    globalScale: 1
-    rootMotionBoneName: 
-    hasTranslationDoF: 0
-    hasExtraRoot: 0
-    skeletonHasParents: 1
-  lastHumanDescriptionAvatarSource: {instanceID: 0}
-  autoGenerateAvatarMappingIfUnspecified: 1
-  animationType: 0
-  humanoidOversampling: 1
-  avatarSetup: 0
-  addHumanoidExtraRootOnlyWhenUsingAvatar: 1
-  additionalBone: 0
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/deltarobot-vr/obj.bak/Debug/.NETFramework,Version=v4.7.1.AssemblyAttributes.cs b/deltarobot-vr/obj.bak/Debug/.NETFramework,Version=v4.7.1.AssemblyAttributes.cs
new file mode 100644
index 0000000..3d63587
--- /dev/null
+++ b/deltarobot-vr/obj.bak/Debug/.NETFramework,Version=v4.7.1.AssemblyAttributes.cs
@@ -0,0 +1,4 @@
+// <autogenerated />
+using System;
+using System.Reflection;
+[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.7.1", FrameworkDisplayName = "")]
diff --git a/deltarobot-vr/obj.bak/Debug/Assembly-CSharp.csproj.CopyComplete b/deltarobot-vr/obj.bak/Debug/Assembly-CSharp.csproj.CopyComplete
new file mode 100644
index 0000000..e69de29
diff --git a/deltarobot-vr/obj.bak/Debug/Assembly-CSharp.csproj.CoreCompileInputs.cache b/deltarobot-vr/obj.bak/Debug/Assembly-CSharp.csproj.CoreCompileInputs.cache
new file mode 100644
index 0000000..13a8fbe
--- /dev/null
+++ b/deltarobot-vr/obj.bak/Debug/Assembly-CSharp.csproj.CoreCompileInputs.cache
@@ -0,0 +1 @@
+7b3914932a9465b83f1f994d4d09b947e6db2e26
diff --git a/deltarobot-vr/obj.bak/Debug/Assembly-CSharp.csproj.FileListAbsolute.txt b/deltarobot-vr/obj.bak/Debug/Assembly-CSharp.csproj.FileListAbsolute.txt
new file mode 100644
index 0000000..3bd74d1
--- /dev/null
+++ b/deltarobot-vr/obj.bak/Debug/Assembly-CSharp.csproj.FileListAbsolute.txt
@@ -0,0 +1,427 @@
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Assembly-CSharp.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Assembly-CSharp.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Microsoft.Win32.Primitives.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/mscorlib.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/netstandard.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.AppContext.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Collections.Concurrent.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Collections.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Collections.NonGeneric.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Collections.Specialized.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.ComponentModel.Composition.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.ComponentModel.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.ComponentModel.EventBasedAsync.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.ComponentModel.Primitives.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.ComponentModel.TypeConverter.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Console.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Core.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Data.Common.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Data.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Diagnostics.Contracts.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Diagnostics.Debug.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Diagnostics.FileVersionInfo.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Diagnostics.Process.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Diagnostics.StackTrace.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Diagnostics.TextWriterTraceListener.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Diagnostics.Tools.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Diagnostics.TraceSource.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Diagnostics.Tracing.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Drawing.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Drawing.Primitives.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Dynamic.Runtime.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Globalization.Calendars.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Globalization.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Globalization.Extensions.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.IO.Compression.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.IO.Compression.FileSystem.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.IO.Compression.ZipFile.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.IO.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.IO.FileSystem.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.IO.FileSystem.DriveInfo.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.IO.FileSystem.Primitives.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.IO.FileSystem.Watcher.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.IO.IsolatedStorage.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.IO.MemoryMappedFiles.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.IO.Pipes.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.IO.UnmanagedMemoryStream.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Linq.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Linq.Expressions.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Linq.Parallel.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Linq.Queryable.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Net.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Net.Http.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Net.NameResolution.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Net.NetworkInformation.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Net.Ping.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Net.Primitives.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Net.Requests.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Net.Security.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Net.Sockets.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Net.WebHeaderCollection.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Net.WebSockets.Client.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Net.WebSockets.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Numerics.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Numerics.Vectors.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.ObjectModel.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Reflection.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Reflection.Extensions.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Reflection.Primitives.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Resources.Reader.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Resources.ResourceManager.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Resources.Writer.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Runtime.CompilerServices.VisualC.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Runtime.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Runtime.Extensions.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Runtime.Handles.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Runtime.InteropServices.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Runtime.InteropServices.RuntimeInformation.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Runtime.InteropServices.WindowsRuntime.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Runtime.Numerics.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Runtime.Serialization.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Runtime.Serialization.Formatters.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Runtime.Serialization.Json.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Runtime.Serialization.Primitives.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Runtime.Serialization.Xml.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Security.Claims.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Security.Cryptography.Algorithms.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Security.Cryptography.Csp.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Security.Cryptography.Encoding.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Security.Cryptography.Primitives.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Security.Cryptography.X509Certificates.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Security.Principal.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Security.SecureString.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.ServiceModel.Web.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Text.Encoding.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Text.Encoding.Extensions.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Text.RegularExpressions.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Threading.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Threading.Overlapped.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Threading.Tasks.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Threading.Tasks.Parallel.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Threading.Thread.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Threading.ThreadPool.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Threading.Timer.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Transactions.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.ValueTuple.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Web.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Windows.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Xml.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Xml.Linq.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Xml.ReaderWriter.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Xml.Serialization.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Xml.XDocument.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Xml.XmlDocument.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Xml.XmlSerializer.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Xml.XPath.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/System.Xml.XPath.XDocument.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.EditorCoroutines.Editor.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.InputSystem.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.InteractiveTutorials.Core.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.InteractiveTutorials.Core.Scripts.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.Rider.Editor.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.Subsystem.Registration.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.Sysroot.Linux_x86_64.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.SysrootPackage.Editor.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.TextMeshPro.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.TextMeshPro.Editor.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.Timeline.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.Timeline.Editor.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.Toolchain.Linux-x86_64.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.VisualStudio.Editor.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.VSCode.Editor.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.XR.ARSubsystems.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.XR.ARSubsystems.Editor.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.XR.InteractionSubsystems.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.XR.Management.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.XR.Management.Editor.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.XR.Oculus.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.XR.Oculus.Editor.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.XR.OpenXR.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.XR.OpenXR.Editor.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.XR.OpenXR.Features.ConformanceAutomation.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.XR.OpenXR.Features.RuntimeDebugger.Editor.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.XR.OpenXR.TestHelpers.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.XR.WindowsMixedReality.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.XR.WindowsMixedReality.Editor.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEditor.CoreModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEditor.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEditor.GraphViewModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEditor.InteractiveTutorialsFramework.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEditor.PackageManagerUIModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEditor.SceneTemplateModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEditor.SpatialTracking.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEditor.UI.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEditor.UIElementsModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEditor.UIElementsSamplesModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEditor.UIServiceModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEditor.UnityConnectModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEditor.XR.LegacyInputHelpers.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.AccessibilityModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.AIModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.AndroidJNIModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.AnimationModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.AssetBundleModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.AudioModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.ClothModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.ClusterInputModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.ClusterRendererModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.CoreModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.CrashReportingModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.DirectorModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.DSPGraphModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.GameCenterModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.GIModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.GridModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.HotReloadModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.ImageConversionModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.IMGUIModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.InputLegacyModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.InputModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.JSONSerializeModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.LocalizationModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.ParticleSystemModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.PerformanceReportingModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.Physics2DModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.PhysicsModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.ProfilerModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.RuntimeInitializeOnLoadManagerInitializerModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.ScreenCaptureModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.SharedInternalsModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.SpatialTracking.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.SpriteMaskModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.SpriteShapeModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.StreamingModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.SubstanceModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.SubsystemsModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.TerrainModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.TerrainPhysicsModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.TextCoreModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.TextRenderingModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.TilemapModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.TLSModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.UI.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.UIElementsModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.UIElementsNativeModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.UIModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.UmbraModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.UNETModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.UnityAnalyticsModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.UnityConnectModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.UnityCurlModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.UnityTestProtocolModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.UnityWebRequestAssetBundleModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.UnityWebRequestAudioModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.UnityWebRequestModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.UnityWebRequestTextureModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.UnityWebRequestWWWModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.VehiclesModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.VFXModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.VideoModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.VirtualTexturingModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.VRModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.WindModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.XR.LegacyInputHelpers.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.XRModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.ARModule.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.Cecil.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEditor.TestRunner.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.TestRunner.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.Settings.Editor.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.InternalAPIEditorBridge.005.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.XR.OpenXR.Features.RuntimeDebugger.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.AIModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.AIModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.AccessibilityModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.AccessibilityModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.AndroidJNIModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.AndroidJNIModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.AnimationModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.AnimationModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.AssetBundleModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.AssetBundleModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.AudioModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.AudioModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.ClothModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.ClothModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.ClusterInputModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.ClusterInputModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.ClusterRendererModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.ClusterRendererModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.CoreModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.CoreModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.CrashReportingModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.CrashReportingModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.DSPGraphModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.DSPGraphModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.DirectorModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.DirectorModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.GIModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.GIModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.GameCenterModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.GameCenterModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.GridModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.GridModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.HotReloadModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.HotReloadModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.IMGUIModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.IMGUIModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.ImageConversionModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.ImageConversionModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.InputModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.InputModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.InputLegacyModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.InputLegacyModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.JSONSerializeModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.JSONSerializeModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.LocalizationModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.LocalizationModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.ParticleSystemModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.ParticleSystemModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.PerformanceReportingModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.PerformanceReportingModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.PhysicsModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.PhysicsModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.Physics2DModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.Physics2DModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.ProfilerModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.ProfilerModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.RuntimeInitializeOnLoadManagerInitializerModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.RuntimeInitializeOnLoadManagerInitializerModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.ScreenCaptureModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.ScreenCaptureModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.SharedInternalsModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.SharedInternalsModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.SpriteMaskModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.SpriteMaskModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.SpriteShapeModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.SpriteShapeModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.StreamingModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.StreamingModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.SubstanceModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.SubstanceModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.SubsystemsModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.SubsystemsModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.TLSModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.TLSModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.TerrainModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.TerrainModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.TerrainPhysicsModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.TerrainPhysicsModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.TextCoreModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.TextCoreModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.TextRenderingModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.TextRenderingModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.TilemapModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.TilemapModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.UIModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.UIModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.UIElementsModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.UIElementsModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.UIElementsNativeModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.UIElementsNativeModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.UNETModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.UNETModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.UmbraModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.UmbraModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.UnityAnalyticsModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.UnityAnalyticsModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.UnityConnectModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.UnityConnectModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.UnityCurlModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.UnityCurlModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.UnityTestProtocolModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.UnityTestProtocolModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.UnityWebRequestModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.UnityWebRequestModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.UnityWebRequestAssetBundleModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.UnityWebRequestAssetBundleModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.UnityWebRequestAudioModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.UnityWebRequestAudioModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.UnityWebRequestTextureModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.UnityWebRequestTextureModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.UnityWebRequestWWWModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.UnityWebRequestWWWModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.VFXModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.VFXModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.VRModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.VRModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.VehiclesModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.VehiclesModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.VideoModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.VideoModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.VirtualTexturingModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.VirtualTexturingModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.WindModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.WindModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.XRModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.XRModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEditor.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEditor.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEditor.CoreModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEditor.CoreModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEditor.GraphViewModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEditor.GraphViewModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEditor.PackageManagerUIModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEditor.PackageManagerUIModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEditor.SceneTemplateModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEditor.SceneTemplateModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEditor.UIElementsModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEditor.UIElementsModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEditor.UIElementsSamplesModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEditor.UIElementsSamplesModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEditor.UIServiceModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEditor.UIServiceModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEditor.UnityConnectModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEditor.UnityConnectModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.VSCode.Editor.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEditor.InteractiveTutorialsFramework.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.XR.WindowsMixedReality.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.TextMeshPro.Editor.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.VisualStudio.Editor.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.Sysroot.Linux_x86_64.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.XR.Management.Editor.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.Timeline.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.TextMeshPro.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.Toolchain.Linux-x86_64.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.Subsystem.Registration.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEditor.UI.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.InputSystem.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.Rider.Editor.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.UI.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.SpatialTracking.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.InteractiveTutorials.Core.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.EditorCoroutines.Editor.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.XR.InteractionSubsystems.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.XR.WindowsMixedReality.Editor.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.XR.OpenXR.TestHelpers.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.XR.LegacyInputHelpers.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.XR.OpenXR.Editor.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.Timeline.Editor.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.XR.ARSubsystems.Editor.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEditor.XR.LegacyInputHelpers.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.XR.Management.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.XR.ARSubsystems.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.XR.Oculus.Editor.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.XR.OpenXR.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEditor.SpatialTracking.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.XR.OpenXR.Features.ConformanceAutomation.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.XR.Oculus.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.XR.OpenXR.Features.RuntimeDebugger.Editor.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.SysrootPackage.Editor.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.InteractiveTutorials.Core.Scripts.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.ARModule.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.ARModule.xml
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEditor.TestRunner.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/UnityEngine.TestRunner.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.Settings.Editor.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.InternalAPIEditorBridge.005.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/Temp/Bin/Debug/Unity.XR.OpenXR.Features.RuntimeDebugger.pdb
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/obj/Debug/Assembly-CSharp.csprojAssemblyReference.cache
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/obj/Debug/Assembly-CSharp.csproj.CoreCompileInputs.cache
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/obj/Debug/Assembly-CSharp.csproj.CopyComplete
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/obj/Debug/Assembly-CSharp.dll
+/home/spiffyk/Projects/aswi/aswi2021virtual-surreality/deltarobot-vr/obj/Debug/Assembly-CSharp.pdb
diff --git a/deltarobot-vr/obj.bak/Debug/Assembly-CSharp.csprojAssemblyReference.cache b/deltarobot-vr/obj.bak/Debug/Assembly-CSharp.csprojAssemblyReference.cache
new file mode 100644
index 0000000..c73fff3
Binary files /dev/null and b/deltarobot-vr/obj.bak/Debug/Assembly-CSharp.csprojAssemblyReference.cache differ
diff --git a/deltarobot-vr/obj.bak/Debug/Assembly-CSharp.dll b/deltarobot-vr/obj.bak/Debug/Assembly-CSharp.dll
new file mode 100644
index 0000000..bd20552
Binary files /dev/null and b/deltarobot-vr/obj.bak/Debug/Assembly-CSharp.dll differ
diff --git a/deltarobot/curvedataserver.cpp b/deltarobot/curvedataserver.cpp
index b319547..51c1124 100644
--- a/deltarobot/curvedataserver.cpp
+++ b/deltarobot/curvedataserver.cpp
@@ -124,7 +124,6 @@ CurveDataServer::Client::Client(QTcpSocket* socket) :
 
 CurveDataServer::CurveDataServer() :
     _server(this),
-    _pingThread([this](){threadFunction();}),
     _sockets()
 {
     _server.listen(QHostAddress::Any, 4242);
@@ -139,8 +138,6 @@ CurveDataServer::~CurveDataServer()
         terminateConnection(client, "Server is stopping");
     }
     _sockets.clear();
-
-    _threadIsRunning = false;
 }
 
 void CurveDataServer::onNewConnection()
@@ -149,6 +146,7 @@ void CurveDataServer::onNewConnection()
     connect(clientSocket, SIGNAL(readyRead()), this, SLOT(onReadyRead()));
     connect(clientSocket, SIGNAL(stateChanged(QAbstractSocket::SocketState)), this, SLOT(onSocketStateChanged(QAbstractSocket::SocketState)));
 
+    qDebug() << "Client" << clientSocket->peerAddress() << "is connecting...";
     sendPreamble(clientSocket);
     _sockets.push_back(Client(clientSocket));
 }
@@ -268,15 +266,12 @@ void CurveDataServer::onReadyRead()
 void CurveDataServer::handleMessage(Client& client, uint16_t messageId, void *content, size_t contentSize) {
     switch (messageId) {
     case 0x3001:
-        qDebug() << "Magic arrived!";
         handleProtocolMagic(client, (char *) content);
         break;
     case 0x2002:
-        qDebug() << "Version arrived!";
         handleVersion(client, *((uint8_t*) content));
         break;
     case 0x3005:
-        qDebug() << "Pong " << *((uint64_t*) content) << " arrived!";
         handlePong(client, (uint64_t*) content);
         break;
     case 0xF006:
@@ -293,6 +288,7 @@ void CurveDataServer::handleProtocolMagic(Client& client, char *content)
     if (strncmp(content, correct, 8) == 0) {
         client.magic = true;
     }
+    validateProtocol(client);
 }
 
 void CurveDataServer::handleVersion(Client& client, uint8_t content)
@@ -301,6 +297,7 @@ void CurveDataServer::handleVersion(Client& client, uint8_t content)
     {
         client.version = true;
     }
+    validateProtocol(client);
 }
 
 void CurveDataServer::handlePong(Client& client, uint64_t* content)
@@ -316,7 +313,6 @@ void CurveDataServer::handlePong(Client& client, uint64_t* content)
 
     client.latency = time - timeSent;
     client.lastPong = time;
-    //qDebug() << "prisel pong" << number;
 }
 
 void CurveDataServer::handleEOT(Client& client, char* content, size_t contentSize)
@@ -325,11 +321,19 @@ void CurveDataServer::handleEOT(Client& client, char* content, size_t contentSiz
     std::memcpy(cstrContent, content, contentSize);
     cstrContent[contentSize] = '\0';
 
-    qDebug() << "Client" << client.socket->peerName() << "disconnected:" << cstrContent;
+    qDebug() << "Client" << client.socket->peerAddress() << "disconnected:" << cstrContent;
     terminateConnection(client, "Recieved EOT from client");
 }
 
 
+void CurveDataServer::validateProtocol(Client &client) {
+    if (!client.protocolValid && client.magic && client.version) {
+        client.protocolValid = true;
+        qDebug() << "Client" << client.socket->peerAddress() << "has successfully connected.";
+    }
+}
+
+
 void CurveDataServer::terminateConnection(Client& client, std::string&& reason)
 {
     if (client.socket->isOpen())
@@ -339,6 +343,7 @@ void CurveDataServer::terminateConnection(Client& client, std::string&& reason)
         client.socket->close();
     }
 
+    qDebug() << "Terminating connection to client" << client.socket->peerAddress() << "reason:" << reason.c_str();
     removeSocket(client.socket);
 }
 
@@ -450,8 +455,6 @@ void CurveDataServer::sendProtocolMagic(QTcpSocket *socket)
     QByteArray message = message64(0x3001, *((uint64_t*) messageContent));
 
     socket->write(message);
-
-    qDebug() << "Sent Protocol Magic to" << socket->peerAddress();
 }
 
 void CurveDataServer::sendVersion(QTcpSocket *socket)
@@ -459,8 +462,6 @@ void CurveDataServer::sendVersion(QTcpSocket *socket)
     QByteArray message = message32(0x2002, 1);
 
     socket->write(message);
-
-    qDebug() << "Sent Protocol Version to" << socket->peerAddress();
 }
 
 void CurveDataServer::sendEot(QTcpSocket *socket, std::string&& reason)
@@ -469,37 +470,23 @@ void CurveDataServer::sendEot(QTcpSocket *socket, std::string&& reason)
     socket->write(message);
 }
 
-
-
 void CurveDataServer::sendMessageToAllConnected(QByteArray &message)
 {
     std::lock_guard<decltype (_socketsLock)> l(_socketsLock);
     for (auto& client : _sockets) {
-        if (client.magic && client.version)
+        if (client.protocolValid)
         {
             client.socket->write(message);
         }
     }
 }
 
-void CurveDataServer::threadFunction()
-{
-    while (_threadIsRunning)
-    {
-        //processPings();
-
-        // TODO tim se zpravilo varovani se socketama
-
-        std::this_thread::sleep_for(std::chrono::milliseconds(100));
-    }
-}
-
 void CurveDataServer::processPings()
 {
     std::lock_guard<decltype (_socketsLock)> l(_socketsLock);
     for (auto& client : _sockets) {
 
-        if (client.magic && client.version)
+        if (client.protocolValid)
         {
             if (client.lastPong  < currentTimeMillis() - 10000)
             {
@@ -539,10 +526,7 @@ void CurveDataServer::sendPing(Client& client)
 {
     uint64_t number = (((uint64_t) rand()) << 32) + (uint64_t) rand();
 
-    //qDebug() << "posilam ping" << ((qint64) number) << ".";
-
     client.ping.emplace(std::make_pair(number, currentTimeMillis()));
-    //client.ping.insert({number, currentTimeMillis()});
 
     client.socket->write(message64(0x3004, (uint64_t) number));
 }
diff --git a/deltarobot/curvedataserver.h b/deltarobot/curvedataserver.h
index e530da1..586bae0 100644
--- a/deltarobot/curvedataserver.h
+++ b/deltarobot/curvedataserver.h
@@ -8,11 +8,21 @@
 #include <mutex>
 #include <thread>
 
+
+/**
+ * Manages communication with clients who can connect to the server in order to receive real-time data about the current
+ * exercise. The served data may be used e.g. for external visualization. A reference implementation of such a client is
+ * the deltarobot-vr Unity application.
+ */
 class CurveDataServer : QObject
 {
     Q_OBJECT
 
 public:
+
+    /**
+     * Holds information about a client, its Qt socket, data buffer etc.
+     */
     struct Client {
         /**
          * Size of the client buffer.
@@ -21,20 +31,22 @@ public:
          */
         static const size_t BUF_SIZE = 4096;
 
-        static const size_t MESSAGE_ID_SIZE = sizeof(uint16_t);      ///< Size of the protocol message identifier.
-        static const size_t MESSAGE_LENGTH_SIZE = sizeof(uint32_t);  ///< Size of the variable-length message's content length.
+        static const size_t MESSAGE_ID_SIZE = sizeof(uint16_t);      ///< Size of the protocol message identifier
+        static const size_t MESSAGE_LENGTH_SIZE = sizeof(uint32_t);  ///< Size of the variable-length message's content length
+
+        QTcpSocket* socket;                 ///< Communication socket
+        std::map<uint64_t, uint64_t> ping;  ///< Key: ping ID;  Value: ping timestamp (msec);
+        uint64_t latency;                   ///< Current latency
+        uint64_t lastPong;                  ///< Timestamp of the last pong
 
-        QTcpSocket* socket;
-        std::map<uint64_t, uint64_t> ping;  ///< key: ping ID;  value: ping timestamp (msec);
-        uint64_t latency;               ///< client's latency
-        uint64_t lastPong;              ///< timestamp of last pong
+        char buf[BUF_SIZE];                 ///< Message buffer
+        size_t bufUsed = 0;                 ///< Number of bytes used up in the message buffer
 
-        char buf[BUF_SIZE];
-        size_t bufUsed;
+        bool magic = false;                 ///< Whether the client has sent the correct protocol magic
+        bool version = false;               ///< Whether the client has sent the correct protocol version
+        bool protocolValid = false;         ///< Whether the client has sent both the correct protocol magic and version.
 
-        bool magic = false;
-        bool version = false;
-        bool initialized = false;
+        bool initialized = false;           ///< Whether the server has initialized this client with the current curve
 
         Client(QTcpSocket* socket);
     };
@@ -42,14 +54,26 @@ public:
     explicit CurveDataServer();
     ~CurveDataServer();
 
+    /** Sends the current actuator position. */
     void sendActuatorPosition(float x, float y, float z);
+
+    /** Sends the actual direction the actuator is moving in. */
     void sendActualDirection(float x, float y, float z);
+
+    /** Sends the direction the actuator *should* be moving in, in order to draw the curve. */
     void sendTargetDirection(float x, float y, float z);
+
+    /** Stores and sends the specified curve. */
     void sendNewCurve(QList<QVector4D> &points);
+
+    /** Stores and sends the specified curve. */
     void sendNewCurve(QList<QVector3D> &points);
+
+    /** Sends the currently stored curve. This is used for newly connected clients. */
     void sendCurve(Client &client);
 
-    void processPings();            ///< send pings, check timeouts
+    /** Sends ping messages to the clients, checks whether any clients have timed out, and disconnects any that have. */
+    void processPings();
 
 public slots:
     void onNewConnection();
@@ -57,6 +81,7 @@ public slots:
     void onReadyRead();
 
 private:
+    /** Gets the client that is connected via the specified socket. */
     QList<Client>::iterator clientOf(QTcpSocket *socket);
 
     void handleMessage(Client& client, uint16_t messageId, void* content, size_t contentSize);
@@ -65,7 +90,12 @@ private:
     void handlePong(Client& client, uint64_t* content);
     void handleEOT(Client& client, char* content, size_t contentSize);
 
-    void validPreamble(Client& client);
+    /**
+     * Checks whether the specified client has already sent both its protocol magic and version. If so, the appropriate
+     * flag is set and a log is written out into qDebug.
+     */
+    void validateProtocol(Client& client);
+
     void removeSocket(QTcpSocket *socket);
     void terminateConnection(Client& client, std::string&& reason);
     void sendPing(Client& client);
@@ -77,12 +107,7 @@ private:
 
     void sendMessageToAllConnected(QByteArray &message);
 
-    void threadFunction();
-
     QTcpServer _server;
-    std::thread _pingThread;
-
-    volatile bool _threadIsRunning = true;
 
     std::recursive_mutex _socketsLock;
     QList<Client> _sockets;
