# RayTracingMultiGeometryInstanceConfig

> Parameters you can use to configure ray tracing instances that are part of a RayTracingAccelerationStructure.

## Definition

* **Type:** Struct
* **Namespace:** [UnityEngine.Rendering](/engine/6000.6/script-reference/unityengine/rendering.md)
* **Assembly:** UnityEngine.CoreModule

```csharp
public struct RayTracingMultiGeometryInstanceConfig
```

## Remarks

The geometries used by the ray tracing instances are specified using shared [GraphicsBuffers](/engine/6000.6/script-reference/unityengine/graphicsbuffer.md) containing vertex and index data and additional parameters.

Refer to the [RayTracingAccelerationStructure.AddInstancesIndirect](/engine/6000.6/script-reference/unityengine/rendering/raytracingaccelerationstructure/addinstancesindirect.md) method for additional information regarding how to specify ray tracing instances that reference geometries and materials from this configuration structure.

Additional Resources: [RayTracingAccelerationStructure.AddInstancesIndirect](/engine/6000.6/script-reference/unityengine/rendering/raytracingaccelerationstructure/addinstancesindirect.md), [RayTracingSubGeometryDesc](/engine/6000.6/script-reference/unityengine/rendering/raytracingsubgeometrydesc.md).

## Properties

| Property                                                                                                                                                                          | Description                                                                                                                                                                                                                       |
| --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [accelerationStructureBuildFlags](/engine/6000.6/script-reference/unityengine/rendering/raytracingmultigeometryinstanceconfig/accelerationstructurebuildflags.md)                 | The flags Unity uses when it builds the acceleration structures for the geometries referenced by this ray tracing instance configuration.                                                                                         |
| [accelerationStructureBuildFlagsOverride](/engine/6000.6/script-reference/unityengine/rendering/raytracingmultigeometryinstanceconfig/accelerationstructurebuildflagsoverride.md) | Whether to override the build flags specified when creating a [RayTracingAccelerationStructure](/engine/6000.6/script-reference/unityengine/rendering/raytracingaccelerationstructure.md).                                        |
| [enableTriangleCulling](/engine/6000.6/script-reference/unityengine/rendering/raytracingmultigeometryinstanceconfig/enabletriangleculling.md)                                     | Whether front/back face culling for the ray tracing instances is enabled.                                                                                                                                                         |
| [frontTriangleCounterClockwise](/engine/6000.6/script-reference/unityengine/rendering/raytracingmultigeometryinstanceconfig/fronttrianglecounterclockwise.md)                     | Whether to flip the way triangles face in the geometries reference by ray tracing instances.                                                                                                                                      |
| [indexBuffer](/engine/6000.6/script-reference/unityengine/rendering/raytracingmultigeometryinstanceconfig/indexbuffer.md)                                                         | The index buffer that Unity uses to define geometries used by ray tracing instances.                                                                                                                                              |
| [layer](/engine/6000.6/script-reference/unityengine/rendering/raytracingmultigeometryinstanceconfig/layer.md)                                                                     | The [layer](/engine/6000.6/manual/working-with-gameobjects/layers.md) used by the ray tracing instances.                                                                                                                          |
| [mask](/engine/6000.6/script-reference/unityengine/rendering/raytracingmultigeometryinstanceconfig/mask.md)                                                                       | The mask used by ray tracing instances.                                                                                                                                                                                           |
| [materialProperties](/engine/6000.6/script-reference/unityengine/rendering/raytracingmultigeometryinstanceconfig/materialproperties.md)                                           | Additional material properties to apply onto materials.                                                                                                                                                                           |
| [materials](/engine/6000.6/script-reference/unityengine/rendering/raytracingmultigeometryinstanceconfig/materials.md)                                                             | The [materials](/engine/6000.6/script-reference/unityengine/material.md) the ray tracing instances use.                                                                                                                           |
| [motionVectorMode](/engine/6000.6/script-reference/unityengine/rendering/raytracingmultigeometryinstanceconfig/motionvectormode.md)                                               | Motion vector mode.                                                                                                                                                                                                               |
| [rayTracingMode](/engine/6000.6/script-reference/unityengine/rendering/raytracingmultigeometryinstanceconfig/raytracingmode.md)                                                   | The [RayTracingMode](/engine/6000.6/script-reference/unityengine/experimental/rendering/raytracingmode.md) that you can use to control how the geometries used by ray tracing instances are updated.                              |
| [renderingLayerMask](/engine/6000.6/script-reference/unityengine/rendering/raytracingmultigeometryinstanceconfig/renderinglayermask.md)                                           | A mask that you can access in HLSL with `unity_RenderingLayer` built-in shader uniform.                                                                                                                                           |
| [subGeometries](/engine/6000.6/script-reference/unityengine/rendering/raytracingmultigeometryinstanceconfig/subgeometries.md)                                                     | The geometry configurations the ray tracing instances use.                                                                                                                                                                        |
| [subGeometriesValidation](/engine/6000.6/script-reference/unityengine/rendering/raytracingmultigeometryinstanceconfig/subgeometriesvalidation.md)                                 | Whether to validate the entries in the `subGeometries` array relative to `vertexBuffer` and `indexBuffer` buffers.                                                                                                                |
| [vertexAttributes](/engine/6000.6/script-reference/unityengine/rendering/raytracingmultigeometryinstanceconfig/vertexattributes.md)                                               | An array of vertex attributes that define the vertex format of [RayTracingMultiGeometryInstanceConfig.vertexBuffer](/engine/6000.6/script-reference/unityengine/rendering/raytracingmultigeometryinstanceconfig/vertexbuffer.md). |
| [vertexBuffer](/engine/6000.6/script-reference/unityengine/rendering/raytracingmultigeometryinstanceconfig/vertexbuffer.md)                                                       | The vertex buffer that Unity uses to define geometries used by ray tracing instances.                                                                                                                                             |
