BasePart:GetTouchingParts() is known to be pretty demanding, and the more intersecting parts, the longer it takes to get all the parts that are in contact or intersecting.
I purpose we add a parameter for the method, or create a new method entirely, whichever works better for mutability.
This parameter limits the maximum amount of parts the method will return, so that we can have more control when using this method so we can feel more comfortable using this method knowing that we can limit the performance cost for this method.
Additionally BasePart:GetTouchingParts(int maxParts, array excludeList)
A way to add a exclusion list for the method would be nice too, just like Raycast, to either include/exclude list of parts and their hierarchy to check for contact/intersection.
Thanks for reading,
Khronos