# Unity 6 Breaking Changes (Relevant to IStalk)

## From Unity 2022 LTS → Unity 6

### Render Pipeline

- **Render Graph is default in URP 17**: All custom render passes must use the new
  Render Graph API (`RecordRenderGraph`). IStalk does not use custom render passes
  in MVP — no impact.
- **Forward+ is default**: Point/spot lights no longer limited per-object. Positive
  for IStalk's interior lighting.

### Physics

- No breaking changes to PhysX 3D API. `Physics.Raycast`, `Physics.SphereCast`,
  `CharacterController` all unchanged.

### Input System

- No breaking changes in 1.x line. `InputAction` API stable.

### Scripting

- **Awaitable replaces some coroutine patterns**: `await Awaitable.NextFrameAsync()`
  available but not required. IStalk uses FishNet timing (TimeManager) instead.
- **Nullable reference types**: Enabled by default in new projects. Existing code
  compatible.

### UI

- uGUI unchanged. TextMeshPro integration stable.
- UI Toolkit improvements (not relevant — ADR-0007 chose uGUI).

### Asset Pipeline

- **Background import**: No code impact.
- **Asset Database v2**: Default since 2021. No migration needed.

## FishNet v4 Specific (Not Unity-Breaking)

FishNet v4 source lives at `Assets/FishNet/`. Key stable APIs:
- `NetworkBehaviour` lifecycle: `OnStartServer`, `OnStartClient`, `OnStartNetwork`
- `Transport` abstract class: `Initialize()`, connection state handling
- `TimeManager`: `OnTick` event, `TickDelta`, `Tick` (uint)
- Prediction: `IReplicateData`, `IReconcileData`, `[Replicate]`, `[Reconcile]`
- SyncTypes: `SyncVar<T>`, `SyncList<T>`, `SyncDictionary<K,V>`

No deprecated APIs in use.
