Version: 2022.3
  • C#


class in UnityEngine.TestTools


Implemented in:UnityEngine.CoreModule

Suggest a change


Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.


Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.




Describes the interface for the code coverage data exposed by mono.

Use one of the following methods to enable coverage:
1) Use the Coverage.enabled API
2) Use the Command line argument -enableCodeCoverage in batchmode

Code Coverage is a measure of how much of your code has been executed. It is normally associated with automated tests, but you can gather coverage data in Unity at any time when the Editor is running. It is typically presented as a report that shows the percentage of the code that has been executed. For automated testing the report does not measure the quality of tests, only whether your code is executed by PlayMode and EditMode tests. It is especially useful to check that critical or high risk areas of your code are covered, because they should receive the most rigorous testing.

You can use the Code Coverage package to gather and present code coverage information from your automated tests. Additionally, the Code Coverage package offers a Coverage Recording feature which allows capturing coverage data on demand, for manual testing or when there are no automated tests in the project.

Note that in Unity 2019 and 2020 you can enable Code Coverage in General Preferences. This was removed in Unity 2021; the user interface for managing Code Coverage is now entirely inside the Code Coverage package.

Static Properties

enabledEnables or disables code coverage. Note that Code Coverage can affect the performance.

Static Methods

GetSequencePointsForReturns the coverage sequence points for the method you specify. See CoveredSequencePoint for more information about the coverage data this method returns.
GetStatsForReturns the coverage summary for the specified method. See CoveredMethodStats for more information about the coverage statistics returned by this method.
GetStatsForAllCoveredMethodsReturns the coverage summary for all methods that have been called since either the Unity process was started or Coverage.ResetAll() has been called.
ResetAllResets all coverage data.
ResetForResets the coverage data for the specified method.