- create blank project
- enable LiDAR Cloud plugin
- restart editor when prompted
- Content Browser>Right Click>New Blueprint Class>Actor>name your actor
- open Actor blueprint
- in components>click Add>LidarPointCloud
- in Functions>Click plus sign to add new function
- Mark the function as pure
- Create a local array variable of type LidarPointCloudPoint
- Add function output type as an array of type LidarPointCloudPoint
- Drag off of function entry node and create for loop with some 500 iterations
- With each iteration, add a new entry to the local points array
- for each element put a Random Unit Vector attached to the location pin of a Make Lidar Point Cloud Point
- [Image Removed]
- In Actor Event Graph
- Drag off of BeginPlay and add SetPointCloud node
- Set target point of SetPointCloud to your Lidar Point Cloud component
- Drag off of InPointCloud point and put a Create Empty Lidar Point Cloud node (you will need to uncheck the Context Sensitivity to find this
- Drag off of your lidar component and add GetPointCloud node
- From that, drag off a Set Data node and connect its execution pin to the output of SetPointCloud
- Drag off of the Points pin and connect the function created earlier
- [Image Removed]
- Open Level blueprint and in its Event Graph
- Drag off of Tick node and add GetAllActorsOfClass selecting the Blueprint type created earlier
- Attach foreach node to the results, destroying all actors found
- Drag off of the Complete pin of the for node
- Create a regular for loop with 30-40 iteration
- In each loop iteration, spawn new actor of the blueprint type created earlier
- [Image Removed]
- Save and Compile
- PIE
Expected Results: No exceptions or ensures happen and PIE is playable (can become slow, depending on the number of iterations selected)
Actual Results: Exception causes crash of the Editor.