The RaycastParams data type stores parameters for WorldRoot:Raycast() operations. The FilterDescendantsInstances property stores an array of objects to use as either an inclusion or exclusion list based on the RaycastParams.FilterType enum. If desired, the RaycastParams.IgnoreWater property can be used to ignore Terrain water, and the RaycastParams.CollisionGroup property can specify a collision group for the raycasting operation.
This object is different from the similarly named RaycastResult which provides the results of a raycast.
Unlike most data types in Luau, you can change all of the members of RaycastParams without creating a new object, allowing you to reuse the same object repeatedly.
An array of objects whose descendants are used in filtering raycasting candidates.
Specifies a collision group for the raycasting operation. Parts in collision groups that are set to not collide with this group are ignored. If this property is omitted, the raycast assumes the Default collision group.
When enabled, the query will ignore all part collision properties and perform a brute-force check on every part. This will negatively impact performance and should not be used in live experiences.
For efficiency and simplicity, this method is the preferred way to add instances to the filter. It has the additional advantage that it allows FilterDescendantsInstances to be updated from a parallel context.