{"id":19503365,"url":"https://github.com/subnauticanitrox/nitrox.discovery","last_synced_at":"2026-04-01T19:22:35.148Z","repository":{"id":254217099,"uuid":"845846946","full_name":"SubnauticaNitrox/Nitrox.Discovery","owner":"SubnauticaNitrox","description":"Finds the path to an installed game from its name, with MSBuild support","archived":false,"fork":false,"pushed_at":"2026-03-20T04:29:56.000Z","size":89,"stargazers_count":5,"open_issues_count":1,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-03-20T20:54:47.234Z","etag":null,"topics":["game-mod-tool","modding","modding-tools","msbuild","msbuild-task"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/SubnauticaNitrox.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2024-08-22T03:28:34.000Z","updated_at":"2026-03-20T04:24:49.000Z","dependencies_parsed_at":"2024-09-08T16:26:25.616Z","dependency_job_id":"be4f90f9-cd8e-42f1-94ab-94a205718757","html_url":"https://github.com/SubnauticaNitrox/Nitrox.Discovery","commit_stats":null,"previous_names":["subnauticanitrox/nitrox.discovery"],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/SubnauticaNitrox/Nitrox.Discovery","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SubnauticaNitrox%2FNitrox.Discovery","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SubnauticaNitrox%2FNitrox.Discovery/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SubnauticaNitrox%2FNitrox.Discovery/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SubnauticaNitrox%2FNitrox.Discovery/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SubnauticaNitrox","download_url":"https://codeload.github.com/SubnauticaNitrox/Nitrox.Discovery/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SubnauticaNitrox%2FNitrox.Discovery/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31291127,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-01T13:12:26.723Z","status":"ssl_error","status_checked_at":"2026-04-01T13:12:25.102Z","response_time":53,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["game-mod-tool","modding","modding-tools","msbuild","msbuild-task"],"created_at":"2024-11-10T22:20:53.725Z","updated_at":"2026-04-01T19:22:35.130Z","avatar_url":"https://github.com/SubnauticaNitrox.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Nitrox.Discovery\n\n[![NuGet](https://img.shields.io/nuget/v/Nitrox.Discovery.MSBuild?label=Nitrox.Discovery.MSBuild\u0026logo=NuGet)](https://www.nuget.org/packages/Nitrox.Discovery.MSBuild)\n\nDiscovers the path to an installed game from a given game name. Supports the most popular game stores and on both Windows and Linux.\n\n### Use with MSBuild (minimized setup)\n\n```xml\n\u003cTarget Name=\"FindGameAndIncludeReferences\" BeforeTargets=\"ResolveAssemblyReferences\" Condition=\"'$(_NitroxDiscovery_TaskAssembly)' != ''\"\u003e\n    \u003cDiscoverGame GameName=\"Subnautica\"\u003e \u003c!-- CHANGE THIS --\u003e\n        \u003cOutput TaskParameter=\"GamePath\" PropertyName=\"GameDir\" /\u003e\n    \u003c/DiscoverGame\u003e\n    \u003cError Condition=\"'$(GameDir)' == ''\" Text=\"Failed to find the game 'Subnautica' on your machine\" /\u003e\n\n    \u003c!-- Load any references to game DLLs here --\u003e\n    \u003cItemGroup\u003e\n        \u003cReference Include=\"MyGameDll\"\u003e\n            \u003cHintPath\u003e$(GameDir)\\bin\\MyGameDll.dll\u003c/HintPath\u003e\n        \u003c/Reference\u003e\n    \u003c/ItemGroup\u003e\n\u003c/Target\u003e\n```\n\n\u003e [!IMPORTANT]\n\u003e `Condition=\"'$(_NitroxDiscovery_TaskAssembly)' != ''\"` is needed so Visual Studio can still load Nuget packages without requiring `DiscoverGame` task to exist!\n\n#### These options are available for `DiscoverGame` task\n\nhttps://github.com/SubnauticaNitrox/Nitrox.Discovery/blob/7c018aa3fd9f05ad012fe91ccb8a535ffbd5b2c5/Nitrox.Discovery.MSBuild/DiscoverGame.cs#L21-L47\n\n### Recommended setup\n\n```xml\n\u003cTarget Name=\"FindGameAndIncludeReferences\" BeforeTargets=\"ResolveAssemblyReferences\" Condition=\"'$(_NitroxDiscovery_TaskAssembly)' != ''\"\u003e\n    \u003cPropertyGroup\u003e\n        \u003c!-- Change this (optional: can be put in your Directory.Build.props file) --\u003e\n        \u003cGameName\u003eMY_GAME\u003c/GameName\u003e\n    \u003c/PropertyGroup\u003e\n    \u003cDiscoverGame GameName=\"$(GameName)\"\u003e\n        \u003cOutput TaskParameter=\"GamePath\" PropertyName=\"GameDir\" /\u003e\n    \u003c/DiscoverGame\u003e\n    \u003cError Condition=\"'$(GameDir)' == ''\" Text=\"Failed to find the game '$(GameName)' on your machine\" /\u003e\n    \u003cPropertyGroup\u003e\n        \u003cGameDir\u003e$(GameDir)\\\u003c/GameDir\u003e\n    \u003c/PropertyGroup\u003e\n    \u003c!-- Optional: do other checks on game (e.g. version check) --\u003e\n    \u003cMessage Importance=\"high\" Text=\"Game found at: '$(GameDir)'\" /\u003e\n\n    \u003c!-- Load any references to game DLLs here --\u003e\n    \u003cItemGroup\u003e\n        \u003cReference Include=\"MyGameDll\"\u003e\n            \u003cHintPath\u003e$(GameDir)bin\\MyGameDll.dll\u003c/HintPath\u003e\n        \u003c/Reference\u003e\n    \u003c/ItemGroup\u003e\n\u003c/Target\u003e\n```\n\n### You can append other references on a per project basis like this\n\n```xml\n\u003cTarget Name=\"MoreGameReferences\" AfterTargets=\"FindGameAndIncludeReferences\"\u003e\n    \u003cItemGroup\u003e\n        \u003cReference Include=\"SomeOtherGameDll\"\u003e\n            \u003cHintPath\u003e$(GameDir)bin\\SomeOtherGameDll.dll\u003c/HintPath\u003e\n        \u003c/Reference\u003e\n    \u003c/ItemGroup\u003e\n\u003c/Target\u003e\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsubnauticanitrox%2Fnitrox.discovery","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsubnauticanitrox%2Fnitrox.discovery","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsubnauticanitrox%2Fnitrox.discovery/lists"}