# UPM Consumer Validation `Validate-UpmConsumer.ps1` verifies the package graph from outside the main Unity project. It performs five checks: 1. Every dependency on another local `com.cneicy.*` package must use that package's current `package.json` version. 2. The local package graph must be acyclic. 3. A normal package must not depend on a `*-integration-*` package. Integration packages may depend on each other, and starter packages may aggregate them. 4. A temporary Unity project is created under `Temp/UpmConsumerValidation`, all local packages are installed through `file:` UPM dependencies, package tests are enabled, and Unity must load every package and asmdef. 5. The same temporary UPM consumer project runs all package EditMode tests. Run with the Unity version declared by this repository: ```powershell ./Tools/UpmConsumerValidation/Validate-UpmConsumer.ps1 ``` Run only the package graph checks without starting Unity: ```powershell ./Tools/UpmConsumerValidation/Validate-UpmConsumer.ps1 -GraphOnly ``` Use `-UnityEditorPath` when the matching editor is not installed in a standard location. Pass `-KeepProject` to retain the temporary project, reports, and Unity logs for investigation. `-SkipTests` is only for a quick package-resolution diagnostic and is not the release validation path.