{"record":{"id":"a689fd420b8841f5","repo":"CoplayDev/unity-mcp","slug":"no-validation-paths-were-set","errorCode":null,"errorMessage":"No validation paths were set","messagePattern":"No validation paths were set","errorType":"validation","errorClass":"Exception","httpStatus":null,"severity":"error","filePath":"TestProjects/AssetStoreUploads/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/CurrentProjectValidator.cs","lineNumber":24,"sourceCode":"namespace AssetStoreTools.Validator\r\n{\r\n    internal class CurrentProjectValidator : ValidatorBase\r\n    {\r\n        private CurrentProjectValidationSettings _settings;\r\n\r\n        public CurrentProjectValidator(CurrentProjectValidationSettings settings) : base(settings)\r\n        {\r\n            _settings = settings;\r\n        }\r\n\r\n        protected override void ValidateSettings()\r\n        {\r\n            if (_settings == null)\r\n                throw new Exception(\"Validation Settings is null\");\r\n\r\n            if (_settings.ValidationPaths == null\r\n                || _settings.ValidationPaths.Count == 0)\r\n                throw new Exception(\"No validation paths were set\");\r\n\r\n            switch (_settings.ValidationType)\r\n            {\r\n                case ValidationType.Generic:\r\n                case ValidationType.UnityPackage:\r\n                    ValidateUnityPackageSettings();\r\n                    break;\r\n                default:\r\n                    throw new NotImplementedException(\"Undefined validation type\");\r\n            }\r\n        }\r\n\r\n        private void ValidateUnityPackageSettings()\r\n        {\r\n            var invalidPaths = string.Empty;\r\n            foreach (var path in _settings.ValidationPaths)\r\n            {\r\n                if (!Directory.Exists(path))\r","sourceCodeStart":6,"sourceCodeEnd":42,"githubUrl":"https://github.com/CoplayDev/unity-mcp/blob/c21bf496bca87d54e75bad048563c3adb1782081/TestProjects/AssetStoreUploads/Packages/com.unity.asset-store-tools/Editor/Validator/Scripts/CurrentProjectValidator.cs#L6-L42","documentation":"Thrown by CurrentProjectValidator.ValidateSettings when ValidationPaths is null or empty. The validator needs at least one path to know what to scan, so it aborts before generating any test config. It is distinct from a 'paths invalid' error (error 145), which fires only when paths are present but missing on disk.","triggerScenarios":"Constructing CurrentProjectValidator with a CurrentProjectValidationSettings whose ValidationPaths collection is null or has zero entries, then invoking validation (which calls ValidateSettings).","commonSituations":"A settings asset was serialized with the paths field cleared, or a script created the settings object without populating ValidationPaths. Common after resetting validation settings or loading a stale asset.","solutions":["Populate _settings.ValidationPaths with one or more directory paths before running validation.","If loading settings from an asset, verify the asset was saved with paths and reload it.","Add a UI/code guard that requires at least one path before enabling the Validate button."],"exampleFix":"// before\nvar settings = ScriptableObject.CreateInstance<CurrentProjectValidationSettings>();\nvar v = new CurrentProjectValidator(settings);\n// after\nsettings.ValidationPaths = new List<string> { \"Assets/MyContent\" };\nvar v = new CurrentProjectValidator(settings);","handlingStrategy":"validation","validationCode":"if (settings.ValidationPaths == null || settings.ValidationPaths.Count == 0)\n    throw new Exception(\"Add at least one validation path\");","typeGuard":"static bool HasValidationPaths(CurrentProjectValidationSettings s) =>\n    s != null && s.ValidationPaths != null && s.ValidationPaths.Count > 0;","tryCatchPattern":"try { validator.ValidateSettings(); }\ncatch (Exception ex) when (ex.Message.Contains(\"validation paths\", StringComparison.OrdinalIgnoreCase)) { ... }","preventionTips":["Populate ValidationPaths before constructing the validator.","Guard the Validate UI button on a non-empty paths list."],"tags":["csharp","unity","asset-store","validator","validation"],"backgroundTag":null,"analyzedSha":"c21bf496bca87d54e75bad048563c3adb1782081","analyzedAt":"2026-08-13T17:36:56.095Z","schemaVersion":2},"datasetVersion":"2026-08-13T19:17:28.613Z"}