Box Collisions from F3XBuildingTools

so I’ve been picking apart Building Tools by F3X to try and create a custom type of building system, and found the collision system, and was wondering if it was really worthwhile using this monstrosity instead of just using something like workspace:GetPartBoundsInBox(), because although it’s only using math, and its only to detect if a collision happens, not what collides, I feel as though :GetPartBoundsInBox(and similar methods) being made in C++ instead of Lua would run faster still

(be warned the collision function is a thousand lines of just math, so I’d be worried if you bother reading it all, I made the mistake of doing it)
(also this was written by @AxisAngle, not myself, I am NOT anywhere near good enough at math to make this lol)

    local components = CFrame.new():GetComponents()
	
	function BoxCollision(CFrame0, Size0, CFrame1, Size1, AssumeTrue)
		local m00, m01, m02, m03, m04, m05, m06, m07, m08, m09, m10, m11 = components(CFrame0)
		local m12, m13, m14, m15, m16, m17,	m18, m19, m20, m21, m22, m23 = components(CFrame1)
		local m24, m25, m26 = Size0.x / 2, Size0.y / 2, Size0.z / 2
		local m27, m28, m29 = Size1.x / 2, Size1.y / 2, Size1.z / 2
		local m30, m31, m32 = m12 - m00, m13 - m01, m14 - m02
		local m00 = m03 * m30 + m06 * m31 + m09 * m32
		local m01 = m04 * m30 + m07 * m31 + m10 * m32
		local m02 = m05 * m30 + m08 * m31 + m11 * m32
		local m12 = m15 * m30 + m18 * m31 + m21 * m32
		local m13 = m16 * m30 + m19 * m31 + m22 * m32
		local m14 = m17 * m30 + m20 * m31 + m23 * m32
		local m30 = m12 > m27 and m12 - m27 or m12 < -m27 and m12 + m27 or 0
		local m31 = m13 > m28 and m13 - m28 or m13 < -m28 and m13 + m28 or 0
		local m32 = m14 > m29 and m14 - m29 or m14 < -m29 and m14 + m29 or 0
		local m33 = m00 > m24 and m00 - m24	or m00 < -m24 and m00 + m24	or 0
		local m34 = m01 > m25 and m01 - m25	or m01 < -m25 and m01 + m25	or 0
		local m35 = m02 > m26 and m02 - m26 or m02 < -m26 and m02 + m26	or 0
		local m36 = m30 * m30 + m31 * m31 + m32 * m32
		local m30 = m33 * m33 + m34 * m34 + m35 * m35
		local m31 = m24 < m25 and (m24 < m26 and m24 or m26) or (m25 < m26 and m25 or m26)
		local m32 = m27 < m28 and (m27 < m29 and m27 or m29) or (m28 < m29 and m28 or m29)
	
		if m36 < m31 * m31 or m30 < m32 * m32 then
			return true
		elseif m36 > m24 * m24 + m25 * m25 + m26 * m26 or m30 > m27 * m27 + m28 * m28 + m29 * m29 then
			return false
		elseif AssumeTrue == nil then
			local m30 = m03 * m15 + m06 * m18 + m09 * m21
			local m31 = m03 * m16 + m06 * m19 + m09 * m22
			local m32 = m03 * m17 + m06 * m20 + m09 * m23
			local m03 = m04 * m15 + m07 * m18 + m10 * m21
			local m06 = m04 * m16 + m07 * m19 + m10 * m22
			local m09 = m04 * m17 + m07 * m20 + m10 * m23
			local m04 = m05 * m15 + m08 * m18 + m11 * m21
			local m07 = m05 * m16 + m08 * m19 + m11 * m22
			local m10 = m05 * m17 + m08 * m20 + m11 * m23
			local m05 = m29 * m29
			local m08 = m27 * m27
			local m11 = m28 * m28
			local m15 = m24 * m30
			local m16 = m25 * m03
			local m17 = m26 * m04
			local m18 = m24 * m31
			local m19 = m25 * m06
			local m20 = m26 * m07
			local m21 = m24 * m32
			local m22 = m25 * m09
			local m23 = m26 * m10
			local m33 = m15 + m16 + m17 - m12
			
			if m33 * m33 < m08 then 
				local m34  =  m18 + m19 + m20 - m13
				
				if m34 * m34 < m11 then 
					local m35 = m21 + m22 + m23 - m14
					
					if m35 * m35 < m05 then 
						return true
					end
				end
			end
			
			local m33 = -m15 + m16 + m17 - m12
			
			if m33 * m33 < m08 then 
				local m34 = -m18 + m19 + m20 - m13
				
				if m34 * m34 < m11 then 
					local m35 = -m21 + m22 + m23 - m14
					
					if m35 * m35 < m05 then 
						return true
					end
				end
			end
			
			local m33 = m15 - m16 + m17 - m12
			
			if m33 * m33 < m08 then 
				local m34 = m18 - m19 + m20 - m13
				if m34 * m34 < m11 then 
					local m35 = m21 - m22 + m23 - m14
					if m35 * m35 < m05 then 
						return true
					end
				end
			end
			
			local m33 = -m15 - m16 + m17 - m12
			
			if m33 * m33 < m08 then 
				local m34 = -m18 - m19 + m20 - m13
				
				if m34 * m34 < m11 then 
					local m35 =  - m21 - m22 + m23 - m14
					if m35 * m35 < m05 then 
						return true
					end
				end
			end
			
			local m33 = m15 + m16 - m17 - m12
			
			if m33 * m33 < m08 then 
				local m34 = m18 + m19 - m20 - m13
				if m34 * m34 < m11 then 
					local m35 = m21 + m22 - m23 - m14
					
					if m35 * m35 < m05 then 
						return true
					end
				end
			end
			
			local m33 = -m15 + m16 - m17 - m12
			
			if m33 * m33 < m08 then 
				local m34 = -m18 + m19 - m20 - m13
				
				if m34 * m34 < m11 then 
					local m35 = -m21 + m22 - m23 - m14
					
					if m35 * m35 < m05 then 
						return true
					end
				end
			end
			
			local m33 = m15 - m16 - m17 - m12
			
			if m33 * m33 < m08 then 
				local m34 = m18 - m19 - m20 - m13
				
				if m34 * m34 < m11 then 
					local m35 = m21 - m22 - m23 - m14
					
					if m35 * m35 < m05 then 
						return true
					end
				end
			end
			
			local m33 = -m15 - m16 - m17 - m12
			
			if m33 * m33 < m08 then 
				local m34 = -m18 - m19 - m20 - m13
				
				if m34 * m34 < m11 then 
					local m35 = -m21 - m22 - m23 - m14
					
					if m35 * m35 < m05 then 
						return true
					end
				end
			end
			
			local m12 = m24 * m24
			local m13 = m25 * m25
			local m14 = m26 * m26
			local m15 = m27 * m04
			local m16 = m28 * m07
			local m17 = m27 * m30
			local m18 = m28 * m31
			local m19 = m27 * m03
			local m20 = m28 * m06
			local m21 = m29 * m10
			local m22 = m29 * m32
			local m23 = m29 * m09
			local m35 = (m02 - m26 + m15 + m16) / m10
			
			if m35 * m35 < m05 then 
				local m33 = m00 + m17 + m18 - m35 * m32
				
				if m33 * m33 < m12 then 
					local m34 = m01 + m19 + m20 - m35 * m09
					
					if m34 * m34 < m13 then 
						return true
					end
				end
			end
			
			local m35 = (m02 + m26 + m15 + m16) / m10
			
			if m35 * m35 < m05 then 
				local m33 = m00 + m17 + m18 - m35 * m32
				
				if m33 * m33 < m12 then 
					local m34 = m01 + m19 + m20 - m35 * m09
					
					if m34 * m34 < m13 then 
						return true
					end
				end
			end
			
			local m35 = (m02 - m26 - m15 + m16) / m10
			
			if m35 * m35 < m05 then 
				local m33 = m00 - m17 + m18 - m35 * m32
				
				if m33 * m33 < m12 then 
					local m34 = m01 - m19 + m20 - m35 * m09
					
					if m34 * m34 < m13 then 
						return true
					end
				end
			end
			
			local m35 = (m02 + m26 - m15 + m16) / m10
			
			if m35 * m35 < m05 then 
				local m33 = m00 - m17 + m18 - m35 * m32
				
				if m33 * m33 < m12 then 
					local m34 = m01 - m19 + m20 - m35 * m09
					
					if m34 * m34 < m13 then 
						return true
					end
				end
			end
			
			local m35 = (m02 - m26 + m15 - m16) / m10
			
			if m35 * m35 < m05 then 
				local m33 = m00 + m17 - m18 - m35 * m32
				
				if m33 * m33 < m12 then 
					local m34 = m01 + m19 - m20 - m35 * m09
					
					if m34 * m34 < m13 then 
						return true
					end
				end
			end
			
			local m35 = (m02 + m26 + m15 - m16) / m10
			
			if m35 * m35 < m05 then 
				local m33 = m00 + m17 - m18 - m35 * m32
				
				if m33 * m33 < m12 then 
					local m34 = m01 + m19 - m20 - m35 * m09
					
					if m34 * m34 < m13 then 
						return true
					end
				end
			end
			
			local m35 = (m02 - m26 - m15 - m16) / m10
			
			if m35 * m35 < m05 then 
				local m33 = m00 - m17 - m18 - m35 * m32
				
				if m33 * m33 < m12 then 
					local m34 = m01 - m19 - m20 - m35 * m09
					
					if m34 * m34 < m13 then 
						return true
					end
				end
			end
			
			local m35 = (m02 + m26 - m15 - m16) / m10
			
			if m35 * m35 < m05 then 
				local m33 = m00 - m17 - m18 - m35 * m32
				
				if m33 * m33 < m12 then 
					local m34 = m01 - m19 - m20 - m35 * m09
					
					if m34 * m34 < m13 then 
						return true
					end
				end
			end
			
			local m35 = (m00 - m24 + m17 + m18) / m32
			
			if m35 * m35 < m05 then 
				local m33 = m01 + m19 + m20 - m35 * m09
				
				if m33 * m33 < m13 then 
					local m34 = m02 + m15 + m16 - m35 * m10
					
					if m34 * m34 < m14 then 
						return true
					end
				end
			end
			
			local m35 = (m00 + m24 + m17 + m18) / m32
			
			if m35 * m35 < m05 then 
				local m33 = m01 + m19 + m20 - m35 * m09
				
				if m33 * m33 < m13 then 
					local m34 = m02 + m15 + m16 - m35 * m10
					
					if m34 * m34 < m14 then 
						return true
					end
				end
			end
			
			local m35 = (m00 - m24 - m17 + m18) / m32
			
			if m35 * m35 < m05 then 
				local m33 = m01 - m19 + m20 - m35 * m09
				
				if m33 * m33 < m13 then 
					local m34 = m02 - m15 + m16 - m35 * m10
					
					if m34 * m34 < m14 then 
						return true
					end
				end
			end
			
			local m35 = (m00 + m24 - m17 + m18) / m32
			
			if m35 * m35 < m05 then 
				local m33 = m01 - m19 + m20 - m35 * m09
				
				if m33 * m33 < m13 then 
					local m34 = m02 - m15 + m16 - m35 * m10
					
					if m34 * m34 < m14 then 
						return true
					end
				end
			end
			
			local m35 = (m00 - m24 + m17 - m18) / m32
			
			if m35 * m35 < m05 then 
				local m33 = m01 + m19 - m20 - m35 * m09
				
				if m33 * m33 < m13 then 
					local m34 = m02 + m15 - m16 - m35 * m10
					
					if m34 * m34 < m14 then 
						return true
					end
				end
			end
			
			local m35 = (m00 + m24 + m17 - m18) / m32
			
			if m35 * m35 < m05 then 
				local m33 = m01 + m19 - m20 - m35 * m09
				
				if m33 * m33 < m13 then 
					local m34 = m02 + m15 - m16 - m35 * m10
					
					if m34 * m34 < m14 then 
						return true
					end
				end
			end
			
			local m35 = (m00 - m24 - m17 - m18) / m32
			
			if m35 * m35 < m05 then 
				local m33 = m01 - m19 - m20 - m35 * m09
				
				if m33 * m33 < m13 then 
					local m34 = m02 - m15 - m16 - m35 * m10
					
					if m34 * m34 < m14 then
						return true
					end
				end
			end
			
			local m35 = (m00 + m24 - m17 - m18) / m32
			
			if m35 * m35 < m05 then 
				local m33 = m01 - m19 - m20 - m35 * m09
				
				if m33 * m33 < m13 then 
					local m34 = m02 - m15 - m16 - m35 * m10
					
					if m34 * m34 < m14 then 
						return true
					end
				end
			end
			
			local m35 = (m01 - m25 + m19 + m20) / m09
			
			if m35 * m35 < m05 then 
				local m33 = m02 + m15 + m16 - m35 * m10
				
				if m33 * m33 < m14 then 
					local m34 = m00 + m17 + m18 - m35 * m32
					
					if m34 * m34 < m12 then 
						return true
					end
				end
			end
			
			local m35 = (m01 + m25 + m19 + m20) / m09
			
			if m35 * m35 < m05 then 
				local m33 = m02 + m15 + m16 - m35 * m10
				
				if m33 * m33 < m14 then 
					local m34 = m00 + m17 + m18 - m35 * m32
					
					if m34 * m34 < m12 then 
						return true
					end
				end
			end
			
			local m35 = (m01 - m25 - m19 + m20) / m09
			
			if m35 * m35 < m05 then 
				local m33 = m02 - m15 + m16 - m35 * m10
				
				if m33 * m33 < m14 then 
					local m34 = m00 - m17 + m18 - m35 * m32
					
					if m34 * m34 < m12 then 
						return true
					end
				end
			end
			
			local m35 = (m01 + m25 - m19 + m20) / m09
			
			if m35 * m35 < m05 then 
				local m33 = m02 - m15 + m16 - m35 * m10
				
				if m33 * m33 < m14 then 
					local m34 = m00 - m17 + m18 - m35 * m32
					
					if m34 * m34 < m12 then 
						return true
					end
				end
			end
			
			local m35 = (m01 - m25 + m19 - m20) / m09
			
			if m35 * m35 < m05 then 
				local m33 = m02 + m15 - m16 - m35 * m10
				
				if m33 * m33 < m14 then 
					local m34 = m00 + m17 - m18 - m35 * m32
					
					if m34 * m34 < m12 then 
						return true
					end
				end
			end
			
			local m35 = (m01 + m25 + m19 - m20) / m09
			
			if m35 * m35 < m05 then 
				local m33 = m02 + m15 - m16 - m35 * m10
				
				if m33 * m33 < m14 then 
					local m34 = m00 + m17 - m18 - m35 * m32
					
					if m34 * m34 < m12 then 
						return true
					end
				end
			end
			
			local m35 = (m01 - m25 - m19 - m20) / m09
			
			if m35 * m35 < m05 then 
				local m33 = m02 - m15 - m16 - m35 * m10
				
				if m33 * m33 < m14 then 
					local m34 = m00 - m17 - m18 - m35 * m32
					
					if m34 * m34 < m12 then 
						return true
					end
				end
			end
			
			local m35 = (m01 + m25 - m19 - m20) / m09
			
			if m35 * m35 < m05 then 
				local m33 = m02 - m15 - m16 - m35 * m10
				
				if m33 * m33 < m14 then 
					local m34 = m00 - m17 - m18 - m35 * m32
					
					if m34 * m34 < m12 then 
						return true
					end
				end
			end
			
			local m35 = (m02 - m26 + m16 + m21) / m04
			
			if m35 * m35 < m08 then 
				local m33 = m00 + m18 + m22 - m35 * m30
				
				if m33 * m33 < m12 then 
					local m34 = m01 + m20 + m23 - m35 * m03
					
					if m34 * m34 < m13 then 
						return true
					end
				end
			end
			
			local m35 = (m02 + m26 + m16 + m21) / m04
			
			if m35 * m35 < m08 then 
				local m33 = m00 + m18 + m22 - m35 * m30
				
				if m33 * m33 < m12 then 
					local m34 = m01 + m20 + m23 - m35 * m03
					
					if m34 * m34 < m13 then 
						return true
					end
				end
			end
			
			local m35 = (m02 - m26 - m16 + m21) / m04
			
			if m35 * m35 < m08 then 
				local m33 = m00 - m18 + m22 - m35 * m30
				
				if m33 * m33 < m12 then 
					local m34 = m01 - m20 + m23 - m35 * m03
					
					if m34 * m34 < m13 then 
						return true
					end
				end
			end
			
			local m35 = (m02 + m26 - m16 + m21) / m04
			
			if m35 * m35 < m08 then 
				local m33 = m00 - m18 + m22 - m35 * m30
				
				if m33 * m33 < m12 then 
					local m34 = m01 - m20 + m23 - m35 * m03
					
					if m34 * m34 < m13 then 
						return true
					end
				end
			end
			
			local m35 = (m02 - m26 + m16 - m21) / m04
			
			if m35 * m35 < m08 then 
				local m33 = m00 + m18 - m22 - m35 * m30
				
				if m33 * m33 < m12 then 
					local Axi = m01 + m20 - m23 - m35 * m03
					
					if Axi * Axi < m13 then 
						return true
					end
				end
			end
			
			local m35 = (m02 + m26 + m16 - m21) / m04
			
			if m35 * m35 < m08 then 
				local m33 = m00 + m18 - m22 - m35 * m30
				
				if m33 * m33 < m12 then 
					local sAn = m01 + m20 - m23 - m35 * m03
					
					if sAn * sAn < m13 then 
						return true
					end
				end
			end
			
			local m35 = (m02 - m26 - m16 - m21) / m04
			
			if m35 * m35 < m08 then 
				local m33 = m00 - m18 - m22 - m35 * m30
				
				if m33 * m33 < m12 then 
					local gle = m01 - m20 - m23 - m35 * m03
					
					if gle * gle < m13 then 
						return true
					end
				end
			end
			
			local m35 = (m02 + m26 - m16 - m21) / m04
			
			if m35 * m35 < m08 then 
				local m33 = m00 - m18 - m22 - m35 * m30
				
				if m33 * m33 < m12 then 
					local m34 = m01 - m20 - m23 - m35 * m03
					
					if m34 * m34 < m13 then 
						return true
					end
				end
			end
			
			local m35 = (m00 - m24 + m18 + m22) / m30
			
			if m35 * m35 < m08 then 
				local m33 = m01 + m20 + m23 - m35 * m03
				
				if m33 * m33 < m13 then 
					local m34 = m02 + m16 + m21 - m35 * m04
					
					if m34 * m34 < m14 then 
						return true
					end
				end
			end
			
			local m35 = (m00 + m24 + m18 + m22) / m30
			
			if m35 * m35 < m08 then 
				local m33 = m01 + m20 + m23 - m35 * m03
				
				if m33 * m33 < m13 then 
					local m34 = m02 + m16 + m21 - m35 * m04
					
					if m34 * m34 < m14 then 
						return true
					end
				end
			end
			
			local m35 = (m00 - m24 - m18 + m22) / m30
			
			if m35 * m35 < m08 then 
				local m33 = m01 - m20 + m23 - m35 * m03
				
				if m33 * m33 < m13 then 
					local m34 = m02 - m16 + m21 - m35 * m04
					
					if m34 * m34 < m14 then 
						return true
					end
				end
			end
			
			local m35 = (m00 + m24 - m18 + m22) / m30
			
			if m35 * m35 < m08 then 
				local m33 = m01 - m20 + m23 - m35 * m03
				
				if m33 * m33 < m13 then 
					local m34 = m02 - m16 + m21 - m35 * m04
					
					if m34 * m34 < m14 then 
						return true
					end
				end
			end
			
			local m35 = (m00 - m24 + m18 - m22) / m30
			
			if m35 * m35 < m08 then 
				local m33 = m01 + m20 - m23 - m35 * m03
				
				if m33 * m33 < m13 then 
					local m34 = m02 + m16 - m21 - m35 * m04
					
					if m34 * m34 < m14 then
						return true
					end
				end
			end
			
			local m35 = (m00 + m24 + m18 - m22) / m30
			
			if m35 * m35 < m08 then 
				local m33 = m01 + m20 - m23 - m35 * m03
				
				if m33 * m33 < m13 then 
					local m34 = m02 + m16 - m21 - m35 * m04
					
					if m34 * m34 < m14 then 
						return true
					end
				end
			end
			
			local m35 = (m00 - m24 - m18 - m22) / m30
			
			if m35 * m35 < m08 then 
				local m33 = m01 - m20 - m23 - m35 * m03
				
				if m33 * m33 < m13 then 
					local m34 = m02 - m16 - m21 - m35 * m04
					
					if m34 * m34 < m14 then 
						return true
					end
				end
			end
			
			local m35 = (m00 + m24 - m18 - m22) / m30
			
			if m35 * m35 < m08 then 
				local m33 = m01 - m20 - m23 - m35 * m03
				
				if m33 * m33 < m13 then 
					local m34 = m02 - m16 - m21 - m35 * m04
					
					if m34 * m34 < m14 then 
						return true
					end
				end
			end
			
			local m35 = (m01 - m25 + m20 + m23) / m03
			
			if m35 * m35 < m08 then 
				local m33 = m02 + m16 + m21 - m35 * m04
				
				if m33 * m33 < m14 then 
					local m34 = m00 + m18 + m22 - m35 * m30
					
					if m34 * m34 < m12 then 
						return true
					end
				end
			end
			
			local m35 = (m01 + m25 + m20 + m23) / m03
			
			if m35 * m35 < m08 then 
				local m33 = m02 + m16 + m21 - m35 * m04
				
				if m33 * m33 < m14 then 
					local m34 = m00 + m18 + m22 - m35 * m30
					
					if m34 * m34 < m12 then 
						return true
					end
				end
			end
			
			local m35 = (m01 - m25 - m20 + m23) / m03
			
			if m35 * m35 < m08 then 
				local m33 = m02 - m16 + m21 - m35 * m04
				
				if m33 * m33 < m14 then 
					local m34 = m00 - m18 + m22 - m35 * m30
					
					if m34 * m34 < m12 then 
						return true
					end
				end
			end
			
			local m35 = (m01 + m25 - m20 + m23) / m03
			
			if m35 * m35 < m08 then 
				local m33 = m02 - m16 + m21 - m35 * m04
				
				if m33 * m33 < m14 then 
					local m34 = m00 - m18 + m22 - m35 * m30
					
					if m34 * m34 < m12 then 
						return true
					end
				end
			end
			
			local m35 = (m01 - m25 + m20 - m23) / m03
			
			if m35 * m35 < m08 then 
				local m33 = m02 + m16 - m21 - m35 * m04
				
				if m33 * m33 < m14 then 
					local m34 = m00 + m18 - m22 - m35 * m30
					
					if m34 * m34 < m12 then 
						return true
					end
				end
			end
			
			local m35 = (m01 + m25 + m20 - m23) / m03
			
			if m35 * m35 < m08 then 
				local m33 = m02 + m16 - m21 - m35 * m04
				
				if m33 * m33 < m14 then 
					local m34 = m00 + m18 - m22 - m35 * m30
					
					if m34 * m34 < m12 then 
						return true
					end
				end
			end
			
			local m35 = (m01 - m25 - m20 - m23) / m03
			
			if m35 * m35 < m08 then 
				local m33 = m02 - m16 - m21 - m35 * m04
				
				if m33 * m33 < m14 then 
					local m34 = m00 - m18 - m22 - m35 * m30
					
					if m34 * m34 < m12 then 
						return true
					end
				end
			end
			
			local m35 = (m01 + m25 - m20 - m23) / m03
			
			if m35 * m35 < m08 then 
				local m33 = m02 - m16 - m21 - m35 * m04
				
				if m33 * m33 < m14 then 
					local m34 = m00 - m18 - m22 - m35 * m30
					
					if m34 * m34 < m12 then 
						return true
					end
				end
			end
			
			local m35 = (m02 - m26 + m21 + m15) / m07
			
			if m35 * m35 < m11 then 
				local m33 = m00 + m22 + m17 - m35 * m31
				
				if m33 * m33 < m12 then 
					local m34 = m01 + m23 + m19 - m35 * m06
					
					if m34 * m34 < m13 then 
						return true
					end
				end
			end
			
			local m35 = (m02 + m26 + m21 + m15) / m07
			
			if m35 * m35 < m11 then 
				local m33 = m00 + m22 + m17 - m35 * m31
				
				if m33 * m33 < m12 then 
					local m34 = m01 + m23 + m19 - m35 * m06
					
					if m34 * m34 < m13 then 
						return true
					end
				end
			end
			
			local m35 = (m02 - m26 - m21 + m15) / m07
			
			if m35 * m35 < m11 then 
				local m33 = m00 - m22 + m17 - m35 * m31
				
				if m33 * m33 < m12 then 
					local m34 = m01 - m23 + m19 - m35 * m06
					
					if m34 * m34 < m13 then 
						return true
					end
				end
			end
			
			local m35 = (m02 + m26 - m21 + m15) / m07
			
			if m35 * m35 < m11 then 
				local m33 = m00 - m22 + m17 - m35 * m31
				
				if m33 * m33 < m12 then 
					local m34 = m01 - m23 + m19 - m35 * m06
					
					if m34 * m34 < m13 then 
						return true
					end
				end
			end
			
			local m35 = (m02 - m26 + m21 - m15) / m07
			
			if m35 * m35 < m11 then 
				local m33 = m00 + m22 - m17 - m35 * m31
				
				if m33 * m33 < m12 then 
					local m34 = m01 + m23 - m19 - m35 * m06
					
					if m34 * m34 < m13 then 
						return true
					end
				end
			end
			
			local m35 = (m02 + m26 + m21 - m15) / m07
			
			if m35 * m35 < m11 then 
				local m33 = m00 + m22 - m17 - m35 * m31
				
				if m33 * m33 < m12 then 
					local m34 = m01 + m23 - m19 - m35 * m06
					
					if m34 * m34 < m13 then 
						return true
					end
				end
			end
			
			local m35 = (m02 - m26 - m21 - m15) / m07
			
			if m35 * m35 < m11 then 
				local m33 = m00 - m22 - m17 - m35 * m31
				
				if m33 * m33 < m12 then 
					local m34 = m01 - m23 - m19 - m35 * m06
					
					if m34 * m34 < m13 then 
						return true
					end
				end
			end
			
			local m35 = (m02 + m26 - m21 - m15) / m07
			
			if m35 * m35 < m11 then 
				local m33 = m00 - m22 - m17 - m35 * m31
				
				if m33 * m33 < m12 then 
					local m34 = m01 - m23 - m19 - m35 * m06
					
					if m34 * m34 < m13 then 
						return true
					end
				end
			end
			
			local m35 = (m00 - m24 + m22 + m17) / m31
			
			if m35 * m35 < m11 then 
				local m33 = m01 + m23 + m19 - m35 * m06
				
				if m33 * m33 < m13 then 
					local m34 = m02 + m21 + m15 - m35 * m07
					
					if m34 * m34 < m14 then 
						return true
					end
				end
			end
		
			local m35 = (m00 + m24 + m22 + m17) / m31
			
			if m35 * m35 < m11 then 
				local m33 = m01 + m23 + m19 - m35 * m06
				
				if m33 * m33 < m13 then 
					local m34 = m02 + m21 + m15 - m35 * m07
					
					if m34 * m34 < m14 then 
						return true
					end
				end
			end
			
			local m35 = (m00 - m24 - m22 + m17) / m31
			
			if m35 * m35 < m11 then 
				local m33 = m01 - m23 + m19 - m35 * m06
				
				if m33 * m33 < m13 then 
					local m34 = m02 - m21 + m15 - m35 * m07
					
					if m34 * m34 < m14 then 
						return true
					end
				end
			end
			
			local m35 = (m00 + m24 - m22 + m17) / m31
			
			if m35 * m35 < m11 then 
				local m33 = m01 - m23 + m19 - m35 * m06
				
				if m33 * m33 < m13 then 
					local m34 = m02 - m21 + m15 - m35 * m07
					
					if m34 * m34 < m14 then 
						return true
					end
				end
			end
			
			local m35 = (m00 - m24 + m22 - m17) / m31
			
			if m35 * m35 < m11 then 
				local m33 = m01 + m23 - m19 - m35 * m06
				
				if m33 * m33 < m13 then 
					local m34 = m02 + m21 - m15 - m35 * m07
					
					if m34 * m34 < m14 then 
						return true
					end
				end
			end
			
			local m35 = (m00 + m24 + m22 - m17) / m31
			
			if m35 * m35 < m11 then 
				local m33 = m01 + m23 - m19 - m35 * m06
				
				if m33 * m33 < m13 then 
					local m34 = m02 + m21 - m15 - m35 * m07
					
					if m34 * m34 < m14 then 
						return true
					end
				end
			end
			
			local m35 = (m00 - m24 - m22 - m17) / m31
			
			if m35 * m35 < m11 then 
				local m33 = m01 - m23 - m19 - m35 * m06
				
				if m33 * m33 < m13 then 
					local m34 = m02 - m21 - m15 - m35 * m07
					
					if m34 * m34 < m14 then 
						return true
					end
				end
			end
			
			local m35 = (m00 + m24 - m22 - m17) / m31
			
			if m35 * m35 < m11 then 
				local m33 = m01 - m23 - m19 - m35 * m06
				
				if m33 * m33 < m13 then 
					local m34 = m02 - m21 - m15 - m35 * m07
					
					if m34 * m34 < m14 then 
						return true
					end
				end
			end
			
			local m35 = (m01 - m25 + m23 + m19) / m06
			
			if m35 * m35 < m11 then 
				local m33 = m02 + m21 + m15 - m35 * m07
				
				if m33 * m33 < m14 then 
					local m34 = m00 + m22 + m17 - m35 * m31
					
					if m34 * m34 < m12 then 
						return true
					end
				end
			end
			
			local m35 = (m01 + m25 + m23 + m19) / m06
			
			if m35 * m35 < m11 then 
				local m33 = m02 + m21 + m15 - m35 * m07
				
				if m33 * m33 < m14 then 
					local m34 = m00 + m22 + m17 - m35 * m31
					
					if m34 * m34 < m12 then 
						return true
					end
				end
			end
			
			local m35 = (m01 - m25 - m23 + m19) / m06
			
			if m35 * m35 < m11 then 
				local m33 = m02 - m21 + m15 - m35 * m07
				
				if m33 * m33 < m14 then 
					local m34 = m00 - m22 + m17 - m35 * m31
					
					if m34 * m34 < m12 then 
						return true
					end
				end
			end
			
			local m35 = (m01 + m25 - m23 + m19) / m06
			
			if m35 * m35 < m11 then 
				local m33 = m02 - m21 + m15 - m35 * m07
				
				if m33 * m33 < m14 then 
					local m34 = m00 - m22 + m17 - m35 * m31
					
					if m34 * m34 < m12 then 
						return true
					end
				end
			end
			
			local m35 = (m01 - m25 + m23 - m19) / m06
			
			if m35 * m35 < m11 then 
				local m33 = m02 + m21 - m15 - m35 * m07
				
				if m33 * m33 < m14 then 
					local m34 = m00 + m22 - m17 - m35 * m31
					
					if m34 * m34 < m12 then 
						return true
					end
				end
			end
			
			local m35 = (m01 + m25 + m23 - m19) / m06
			
			if m35 * m35 < m11 then 
				local m33 = m02 + m21 - m15 - m35 * m07
				
				if m33 * m33 < m14 then 
					local m34 = m00 + m22 - m17 - m35 * m31
					
					if m34 * m34 < m12 then 
						return true
					end
				end
			end
			
			local m35 = (m01 - m25 - m23 - m19) / m06
			
			if m35 * m35 < m11 then 
				local m33 = m02 - m21 - m15 - m35 * m07
				
				if m33 * m33 < m14 then 
					local m34 = m00 - m22 - m17 - m35 * m31
					
					if m34 * m34 < m12 then 
						return true
					end
				end
			end
			
			local m35 = (m01 + m25 - m23 - m19) / m06
			
			if m35 * m35 < m11 then 
				local m33 = m02 - m21 - m15 - m35 * m07
				
				if m33 * m33 < m14 then 
					local m34 = m00 - m22 - m17 - m35 * m31
					
					if m34 * m34 < m12 then 
						return true
					end
				end
			end
			
			return false
		else
			return AssumeTrue
		end
	end

so really I guess what’s up for review, is a collision detection method that was written more than a decade ago, on if it’s at all worth having, or just converting to a newer method, such as workspace:GetPartBoundsInBox() or workspace:GetPartsInPart()

Yeah no I’d rather get waterboarded. Use the workspace:GetPartBoundsInBox() instead in my opinion😭

workspace:GetPartBoundsInBox returns more than just the parts which are intersecting the box. It returns all parts whose bounding box intersects your box.

workspace:GetPartsInPart() can’t be used in parallel, but it does what you want.

If either of these is good enough, then yeah, totally just use this. Otherwise, I recommend looking into GJK.

There’s a simpler idea called “separating axis theorem”, though the exit condition and logic is effectively the same. If you want to hard-code it, in a box-box intersection test, there are 15 axes to test:

CFrameA’s x y and z axes.
CFrameB’s x y and z axes.

(Ax cross Bx), (Ax cross By), (Ax cross Bz)
(Ay cross Bx), (Ay cross By), (Ay cross Bz)
(Az cross Bx), (Az cross By), (Az cross Bz)

Vector3 operations are considerably faster than they used to be when I wrote this. Use the vector library instead of the built in Vector3 operations.