# Deprecated APIs — Unity 6

APIs that IStalk must NOT use. None of the project's ADRs reference these.

## Deprecated in Unity 6

| API | Replacement | Reason |
|-----|-------------|--------|
| `WWW` | `UnityWebRequest` | Removed in Unity 2022+ |
| `GUILayout` / `OnGUI()` | uGUI or UI Toolkit | Legacy immediate-mode UI |
| `Application.LoadLevel()` | `SceneManager.LoadScene()` | Removed long ago |
| `Object.FindObjectOfType()` | `Object.FindFirstObjectByType()` | Performance (Unity 2023+) |
| `Object.FindObjectsOfType()` | `Object.FindObjectsByType()` | Sorting parameter added |
| `Physics.IgnoreCollision` (permanent) | Layer collision matrix | Project uses layers (ADR-0006) |
| `NetworkView` (Unity built-in) | FishNet `NetworkObject` | Unity networking deprecated in 2018 |

## Not Deprecated (Safe to Use)

These APIs are sometimes mistakenly thought deprecated but remain fully supported:

- `Physics.Raycast()` / `Physics.SphereCast()` — stable
- `CharacterController.Move()` — stable
- `MonoBehaviour.Update()` / `FixedUpdate()` — stable
- `SceneManager.LoadSceneAsync()` — stable
- `Resources.Load<T>()` / `Resources.LoadAll<T>()` — stable (discouraged for large projects, fine for MVP per ADR-0003)
- `DontDestroyOnLoad()` — stable
- `Canvas` / `Image` / `TMP_Text` — stable (uGUI)
- `LayerMask.GetMask()` — stable
- `Input System` `InputAction` API — stable

## Verification

All 7 ADRs checked against this list — no deprecated API references found.
Last verified: 2026-06-23
