# ShaderModuleAnalyzer

> Abstract base class for an Analyzer to be invoked by ShaderModule

## Definition

* **Type:** Class
* **Namespace:** [Unity.ProjectAuditor.Editor.Core](/engine/6000.7/script-reference/unity/projectauditor/editor/core.md)
* **Assembly:** UnityEditor
* **Inherits from:** [ModuleAnalyzer](/engine/6000.7/script-reference/unity/projectauditor/editor/core/moduleanalyzer.md)

```csharp
public abstract class ShaderModuleAnalyzer : ModuleAnalyzer
```

## Methods

| Method                                                                                                                          | Description                                                                                             |
| ------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------- |
| [Analyze](/engine/6000.7/script-reference/unity/projectauditor/editor/core/shadermoduleanalyzer/analyze.md)                     | Implement this method to detect Issues, construct ReportItem objects to describe them, and return them. |
| [OnAnalysisStarted](/engine/6000.7/script-reference/unity/projectauditor/editor/core/shadermoduleanalyzer/onanalysisstarted.md) | Implement this method to initialize the analyzer at the start of analysis                               |

## Inheritance

**Inherited Members:**

* [ModuleAnalyzer.Initialize(Action\<Descriptor>)](/engine/6000.7/script-reference/unity/projectauditor/editor/core/moduleanalyzer/initialize.md)
