Narod.SteamGameFinder
2.0.0
See the version list below for details.
dotnet add package Narod.SteamGameFinder --version 2.0.0
NuGet\Install-Package Narod.SteamGameFinder -Version 2.0.0
<PackageReference Include="Narod.SteamGameFinder" Version="2.0.0" />
<PackageVersion Include="Narod.SteamGameFinder" Version="2.0.0" />
<PackageReference Include="Narod.SteamGameFinder" />
paket add Narod.SteamGameFinder --version 2.0.0
#r "nuget: Narod.SteamGameFinder, 2.0.0"
#:package Narod.SteamGameFinder@2.0.0
#addin nuget:?package=Narod.SteamGameFinder&version=2.0.0
#tool nuget:?package=Narod.SteamGameFinder&version=2.0.0
Narod's Steam Game Finder
A C# library compatible back to Windows 7 (.NET 3.5 edition) & modern .NET platforms (.NET 8.0 edition), which finds Steam and Games.
Summary
This library allows you to check if Steam is installed, the Steam install path, the Steam library paths, and locate game install directories.
Which edition should I use?
You should really use the .NET 8.0 version (SteamGameFinder2) unless you require legacy support with pre-Windows 10 operating systems.
The .NET 8.0 version will also work much better on macOS & Linux platforms, as well as being more secure and performant on Windows 10 & 11 systems.
With that said, the two versions operate identically with the same feature set and very similar codebase. They are also both maintained at present.
Usage
Code examples in C#
- Download the latest release from the releases tab, or find on Nuget (Narod.SteamGameFinder)
- (Only required if downloaded from releases) Add a reference of the library in your project. (Project → Add Reference... → Browse → Browse...)
- Import in to your program
using Narod.SteamGameFinder;
- Create instance of SteamGameLocator
SteamGameLocator steamGameLocator = new SteamGameLocator();
- Check if Steam is installed
bool isSteamInstalled = steamGameLocator.getIsSteamInstalled();
- Get Steam Install path
string steamInstallDir = steamGameLocator.getSteamInstallLocation();
- Get Steam Library folders
List<string> paths = steamGameLocator.getSteamLibraryLocations();
- Get Steam Game Install Path
string steamGameInstallDir = steamGameLocator.getGameInfoByFolder("SteamGameFolderName").steamGameLocation
- Get Steam Game Install Path by ID
string steamGameIDInstallDir = steamGameLocator.getGameInfoByID("0000").steamGameLocation
Limitations
If you use getGameInfoByFolder
, you can only search for Steam games by their installed folder name. For example, the game 'Cities: Skylines' is installed to 'Cities_Skylines':
string citiesSkylinesInstallDir = steamGameLocator.getGameInfoByFolder("Cities_Skylines").steamGameLocation
You can use Steam Game IDs to make this easier to locate. Steam Game name searching may be added later, but it's much slower than the currently added operations.
Further Help
You can find the 'TestApp' solution in this repository which has an example of how to use the library.
Helping
If you find any bugs, please report it as an issue.
I would also appreciate any extra functionality, feel free to open a PR request.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
.NET Framework | net35 is compatible. net40 was computed. net403 was computed. net45 was computed. net451 was computed. net452 was computed. net46 was computed. net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
This package has no dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Add .NET 8.0 support and Steam Game ID searching.