Diagnostics

April 11, 2023 ยท View on GitHub

Project Auditor reports several types of recommendations. Each of them is uniquely identified by a string ID containing 3 letters, followed by 4 digits.

The main types of recommendations are related to Code and Settings. Their IDs start with PAC and PAS respectively (Project Auditor Code/Setting).

Note that there are different ranges within both Code and Settings diagnostic IDs:

  • Code:
    • PAC0xxx: for Unity API
    • PAC1xxx: for System.*
    • PAC2xxx: other IDs defined in code rather than in the json
  • Settings:
    • PAS0xxx: Unity settings
    • PAS1xxx: other settings IDs defined in code rather than in the json
  • Assets:
    • PAA0xxx: texture related settings
    • PAA1xxx: mesh related settings
    • PAA2xxx: shader related settings
    • PAA3xxx: file system related settings (Resources folders, StreamingAssets, Addressables, etc)

Settings Diagnostics

This is a full list of all builtin settings diagnostics:

IDTitleSettingsPlatforms
PAS0000Metal API ValidationPlayeriOS, StandaloneOSX, tvOS
PAS0001Graphics Jobs (Experimental)PlayerAny
PAS0002AccelerometerPlayeriOS
PAS0003Building multiple architecturePlayeriOS
PAS0004Building multiple architecturePlayerAndroid
PAS0005Metal & OpenGLES APIsPlayeriOS
PAS0006Metal APIPlayeriOS
PAS0007Prebake Collision MeshesPlayerAny
PAS0008Optimize Mesh DataPlayerAny
PAS0009Engine Code StrippingPlayerAndroid, iOS, WebGL
PAS0010Data CachingPlayerWebGL
PAS0011Linker TargetPlayerWebGL
PAS0012Auto Sync TransformsPhysicsAny
PAS0013Layer Collision MatrixPhysicsAny
PAS0014Auto Sync TransformsPhysics2DAny
PAS0015Layer Collision MatrixPhysics2DAny
PAS0016Fixed TimestepTimeAny
PAS0017Maximum Allowed TimestepTimeAny
PAS0018Quality LevelsQualityAny
PAS0019Texture QualityQualityAny
PAS0020Async Upload Time SliceQualityAny
PAS0021Async Upload Buffer SizeQualityAny
PAS0022Shader QualityGraphicsAny
PAS0023Forward RenderingGraphicsAny
PAS0024Deferred RenderingGraphicsAny
PAS0025Managed Code StrippingPlayerAndroid
PAS0026Managed Code StrippingPlayeriOS
PAS0027Mipmap StrippingPlayerAny
PAS0028Reuse Collision CallbacksPhysicsAny
PAS0029Splash ScreenPlayerAny
PAS1000Hybrid Rendering Static batchingPlayerAny
PAS1001Lit Shader Mode Forward and DeferredHDRPAny
PAS1002Camera Lit Shader Mode Forward and DeferredHDRPAny
PAS1003Fog Mode StrippingGraphicsAny
PAS1004IL2CPP Compiler MasterPlayerAny
PAS1005IL2CPP Compiler DebugPlayerAny
PAS1006LightMap StreamingPlayerAny
PAS1007Texture Streaming EnabledQualityAny
PAS1008SRP Batcher EnabledSRP AssetAny
PAS1009URP AssetGraphics, QualityAndroid, iOS, Switch
PAS1010URP HDRGraphics, QualityAndroid, iOS, Switch
PAS1011URP MSAAGraphics, QualityAndroid, iOS, Switch
PAS1012URP Stop NaNGraphicsAndroid, iOS, Switch

Asset Diagnostics

Builtin asset-specific diagnostics:

IDTitleSettingsPlatforms
PAA0000Texture: Mipmaps not enabledGraphicsAny
PAA0001Texture: Mipmaps enabled on Sprite/UI textureGraphicsAny
PAA0002Texture: Read/Write enabledGraphicsAny
PAA0003Texture: Streaming Mipmaps not enabledGraphicsAny
PAA0004Texture: Anisotropic level is more than 1GraphicsAndroid, iOS, Switch
PAA0005Texture: Solid color texture bigger than 1x1GraphicsAny
PAA0007Texture Atlas: Too much empty spaceGraphicsAny
PAA1000Mesh: Read/Write enabledGraphicsAny
PAA1001Mesh: Index Format is 32 bitsGraphicsAny
PAA2000Shader: Not compatible with SRP batcherGraphicsAny
PAA3000Files: Resources folder asset & dependenciesBuildSizeAny
PAA3001Files: StreamingAssets folder sizeBuildSizeAny