diff --git a/Assets/Scenes/Simulator.unity b/Assets/Scenes/Simulator.unity
index d260934..4c7106b 100644
--- a/Assets/Scenes/Simulator.unity
+++ b/Assets/Scenes/Simulator.unity
@@ -984,57 +984,6 @@ MonoBehaviour:
   m_EditorClassIdentifier: 
   _frontWheel: {fileID: 1182672565}
   _rearWheel: {fileID: 1365518639}
---- !u!1 &1119198587
-GameObject:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  serializedVersion: 6
-  m_Component:
-  - component: {fileID: 1119198588}
-  - component: {fileID: 1119198589}
-  m_Layer: 6
-  m_Name: Lidar Sensor
-  m_TagString: Untagged
-  m_Icon: {fileID: 0}
-  m_NavMeshLayer: 0
-  m_StaticEditorFlags: 0
-  m_IsActive: 1
---- !u!4 &1119198588
-Transform:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 1119198587}
-  m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
-  m_LocalPosition: {x: 0, y: 0.3, z: 0.3}
-  m_LocalScale: {x: 1, y: 1, z: 1}
-  m_Children: []
-  m_Father: {fileID: 2999561474658698673}
-  m_RootOrder: 8
-  m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
---- !u!114 &1119198589
-MonoBehaviour:
-  m_ObjectHideFlags: 0
-  m_CorrespondingSourceObject: {fileID: 0}
-  m_PrefabInstance: {fileID: 0}
-  m_PrefabAsset: {fileID: 0}
-  m_GameObject: {fileID: 1119198587}
-  m_Enabled: 1
-  m_EditorHideFlags: 0
-  m_Script: {fileID: 11500000, guid: 47334de10e0723b41b9fb478268edce9, type: 3}
-  m_Name: 
-  m_EditorClassIdentifier: 
-  _range: 12
-  _resolution: 100
-  _scanPeriod: 0.1
-  _noiseIntensity: 0.05
-  _roverMask:
-    serializedVersion: 2
-    m_Bits: 64
-  _showGizmos: 0
 --- !u!1 &1122966450
 GameObject:
   m_ObjectHideFlags: 0
@@ -2899,7 +2848,6 @@ Transform:
   - {fileID: 1141722567}
   - {fileID: 97750368}
   - {fileID: 1935106304}
-  - {fileID: 1119198588}
   m_Father: {fileID: 0}
   m_RootOrder: 6
   m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
diff --git a/Assets/Scripts/LidarSensor.cs b/Assets/Scripts/LidarSensor.cs
deleted file mode 100644
index 0aa4b18..0000000
--- a/Assets/Scripts/LidarSensor.cs
+++ /dev/null
@@ -1,125 +0,0 @@
-using System.Collections;
-using System.Collections.Generic;
-using UnityEngine;
-using Newtonsoft.Json.Linq;
-
-/// <summary>
-/// A lidar sensor on the rover which sends lidar data to the rover server.
-/// </summary>
-public class LidarSensor : MonoBehaviour
-{
-    public struct LidarPoint
-    {
-        public LidarPoint(float r, float theta)
-        {
-            R = r;
-            Theta = theta;
-        }
-
-        public float R { get; }
-
-        public float Theta { get; }
-    }
-
-    [SerializeField]
-    private float _range;
-    [SerializeField]
-    private int _resolution;
-    [SerializeField]
-    private float _scanPeriod;
-    [SerializeField]
-    private float _noiseIntensity;
-    [SerializeField]
-    private LayerMask _roverMask;
-    [SerializeField]
-    private bool _showGizmos;
-
-    private RoverSocket _socket;
-
-    public List<LidarPoint> Points { get; private set; }
-
-    private void Awake()
-    {
-        _socket = FindObjectOfType<RoverSocket>();
-    }
-
-    private void OnEnable()
-    {
-        Points = new List<LidarPoint>();
-        StartCoroutine(BeginScanning());
-    }
-
-    private void OnDisable()
-    {
-        StopAllCoroutines();
-    }
-
-    private IEnumerator BeginScanning()
-    {
-        while (true)
-        {
-            Scan();
-            ReportScan();
-            yield return new WaitForSeconds(_scanPeriod);
-        }
-    }
-
-    private void Scan()
-    {
-        Points.Clear();
-        for (int i = 0; i < _resolution; i++)
-        {
-            float theta = i / (float)_resolution * 360;
-            Vector3 direction = Quaternion.AngleAxis(theta, transform.up) * transform.forward;
-            if (Physics.Raycast(transform.position, direction, out RaycastHit hit, _range, ~_roverMask))
-            {
-                Vector3 cartesian = hit.point - transform.position;
-                float r = cartesian.magnitude;
-                // Apply noise.
-                r += Random.Range(-_noiseIntensity, _noiseIntensity);
-                // Convert from Unity coordinates to our coordinates.
-                theta = Mathf.Deg2Rad * ((360 - theta) % 360);
-                LidarPoint point = new LidarPoint(r, theta);
-                Points.Add(point);
-            }
-        }
-    }
-
-    private void ReportScan()
-    {
-        JObject[] jPoints = new JObject[Points.Count];
-        for (int i = 0; i < Points.Count; i++)
-        {
-            LidarPoint point = Points[i];
-            JObject jPoint = new JObject()
-            {
-                ["r"] = point.R,
-                ["theta"] = point.Theta
-            };
-            jPoints[i] = jPoint;
-        }
-        JObject lidarReport = new JObject()
-        {
-            ["type"] = "simLidarReport",
-            ["points"] = new JArray(jPoints)
-        };
-        _socket.Send(lidarReport);
-    }
-
-    private void OnDrawGizmos()
-    {
-        if (_showGizmos && Points != null)
-        {
-            Gizmos.color = Color.green;
-            foreach (LidarPoint point in Points)
-            {
-                float r = (float)point.R;
-                float theta = (float)point.Theta;
-                // Convert from our coordinates to Unity coordinates.
-                theta = Mathf.Rad2Deg * -theta;
-                Vector3 cartesianPoint = transform.position + Quaternion.AngleAxis(theta, transform.up) * transform.forward * r;
-                Gizmos.DrawSphere(cartesianPoint, 0.02f);
-            }
-        }
-    }
-}
diff --git a/Assets/Scripts/LidarSensor.cs.meta b/Assets/Scripts/LidarSensor.cs.meta
deleted file mode 100644
index 28bdabe..0000000
--- a/Assets/Scripts/LidarSensor.cs.meta
+++ /dev/null
@@ -1,11 +0,0 @@
-fileFormatVersion: 2
-guid: 47334de10e0723b41b9fb478268edce9
-MonoImporter:
-  externalObjects: {}
-  serializedVersion: 2
-  defaultReferences: []
-  executionOrder: 0
-  icon: {instanceID: 0}
-  userData: 
-  assetBundleName: 
-  assetBundleVariant: 
diff --git a/README.md b/README.md
index 01b38a4..38d2c0e 100644
--- a/README.md
+++ b/README.md
@@ -9,7 +9,7 @@ git push origin --tags
 ```
 
 ## Overview
-This simulator creates a WebSocket client to connect directly to the rover WebSocket server at the URL `ws://localhost:3001/simulator`. The simulator will automatically connect to the rover server and reconnect as needed, providing a visual indication of the connection status. The simulator and the rover server communicate with each other by sending JSON objects termed *messages* over the WebSocket connection. Through these messages, the rover server can request that the simulator perform certain actions, such as set a a motor's power. Additionally, the simulator provides the rover server with data such as camera streams and lidar data through these messages.
+This simulator creates a WebSocket client to connect directly to the rover WebSocket server at the URL `ws://localhost:3001/simulator`. The simulator will automatically connect to the rover server and reconnect as needed, providing a visual indication of the connection status. The simulator and the rover server communicate with each other by sending JSON objects termed *messages* over the WebSocket connection. Through these messages, the rover server can request that the simulator perform certain actions, such as set a a motor's power. Additionally, the simulator provides the rover server with data such as camera streams through these messages.
 
 ## Using the Simulator
 1. Download the latest release for your operating system.
@@ -40,7 +40,6 @@ The simulator is able to simulate the cameras with the following names:
 The simulator is also able to simulate the following hardware devices:
 - GPS sensor
 - IMU
-- Lidar sensor
 
 ## Messages
 The JSON objects sent between the simulator and the rover server are termed *messages*. Each message has a type property and a number of additional parameters depending on the type. Each type is prefaced with "sim" to avoid confusion with messages pertaining to Mission Control. The usage of each type of message is detailed below.
@@ -231,21 +230,4 @@ Sent from the simulator to inform the rover server of the orientation provided b
 - `x` - The x-component of the orientation
 - `y` - The y-component of the orientation
 - `z` - The z-component of the orientation
-- `w` - The w-component of the orientation
-
-## Lidar Data Report
-### Description
-Sent from the simulator to inform the rover server of data provided by a simulated lidar sensor.
-
-### Syntax
-```
-{
-  type: "simLidarReport",
-  points: { r: number, theta: number }[]
-}
-```
-
-### Parameters
-- `points` - an array of points in polar coordinates read by the simulated lidar sensor
-- `r` - the distance between a point and the rover in meters
-- `theta` - the angle of a point in [0, 2π) measured from the rover's forward direction and increasing counterclockwise
+- `w` - The w-component of the orientation
\ No newline at end of file