# Complete DevCheck HasV Run Guide

DevCheck HasV checks whether programming languages, compilers, runtimes, game engines, and Android toolchains are available on Windows. It then prints the detected version or path.

## Fastest option

1. Extract the entire ZIP to a normal folder, such as `C:\DevCheck`.
2. Double-click `run-devcheck.bat`.
3. Wait until every check is complete.

Do not run the files directly from inside the ZIP because Windows may restrict access to companion files.

## Run with Windows PowerShell 5.1

Open the extracted folder, right-click an empty area, choose **Open in Terminal**, and run:

```powershell
powershell -NoProfile -ExecutionPolicy Bypass -File .\devcheck.ps1
```

## Run with PowerShell 7

```powershell
pwsh -NoProfile -ExecutionPolicy Bypass -File .\devcheck.ps1
```

`-ExecutionPolicy Bypass` applies only to that process and does not permanently change Windows policy.

## If Windows blocks the downloaded script

```powershell
Unblock-File .\devcheck.ps1
powershell -NoProfile -ExecutionPolicy Bypass -File .\devcheck.ps1
```

## Run the Windows GUI

The GUI source package is available as `DevCheck_Windows_Desktop_Source.zip`.

1. Extract the GUI source package.
2. Make sure the .NET 8 SDK is installed.
3. Open PowerShell in the source folder.
4. Run:

```powershell
.\run.ps1
```

Or run the project manually:

```powershell
dotnet run --project .\src\DevCheckGui\DevCheckGui.vbproj
```

## Understanding the results

- `AVAILABLE (version/path)` means the tool was detected.
- `NOT FOUND` means the command or standard installation path was not detected.
- A `NOT FOUND` result does not always mean the program is broken. It may be installed but missing from `PATH`.

## Tcl anti-hang protection

Some Tcl installations enter an interactive `%` prompt when `tclsh --version` is used. DevCheck avoids that behavior by creating a temporary Tcl file containing:

```tcl
puts [info patchlevel]
```

The file is executed and removed automatically.

## What DevCheck checks

- General development: Python, C, C++, Java, .NET, Go, Swift, Kotlin, Ruby, and Rust
- Web tooling: Node.js, V8, npm, npx, TypeScript, Vite, Deno, and Bun
- Data and science: R, Julia, and SQLite
- Functional languages: Haskell, Scala, Clojure, Elixir, Erlang, OCaml, and Guile
- System languages and tools: Bash, PHP, Lua, Tcl, Nim, Crystal, and NASM
- Game and mobile tooling: Blender, Godot, Unity Hub, Unity Editor, Visual Studio, Unreal Engine, Android SDK, sdkmanager, ADB, NDK, and OpenJDK
- Engine features: ShaderLab/HLSL, Input System, UI, Animation, Audio, NavMesh, Addressables, multiplayer support, cloud save/backend workflows, GDScript, and Blueprint

## Troubleshooting

### PowerShell refuses to run the script

Use `-ExecutionPolicy Bypass` as shown above. You do not need to change the LocalMachine policy.

### A command is installed but appears as NOT FOUND

Close and reopen Terminal after installation, then run:

```powershell
Get-Command python
where.exe python
```

Add the executable folder to `PATH` when necessary.

### Unity or Android SDK is not detected

The script checks common locations on drives C and D. Add your custom installation path to `devcheck.ps1` if the tool is installed elsewhere.

## Browser limitation

The DevCheck website can inspect browser capabilities and provide instructions, but browsers cannot scan local Windows commands. For real toolchain results, run `devcheck.ps1` or the Windows GUI package.

## Complete uploaded-script coverage

This V8 package includes all 61 checks from the supplied script:

- 40 command/version checks
- 10 installation/path checks
- 11 engine feature checks

See `COMPLETE_61_CHECK_COVERAGE.md` or `coverage.json` for the complete categorized list.
