# ProjectRender

> Talos next · Since 0.6; changed in 0.7

Renderer settings for the whole project.

## Fields

| Field | Type | Required | Default | Allowed values | Description |
|---|---|---|---|---|---|
| `profile` | `string` | no |  |  | Which renderer the game runs on: `standard` (the default when absent) or `hd`, the high-definition renderer (docs/PLAN-HD.md). Scenes are identical either way; export picks the engine build from it. |
| `backend` | `string` | no |  |  | Which graphics API the game forces: `auto` (the default when absent: the engine's own per-platform policy), `vulkan` or `dx12` (Windows only). A forced backend that cannot start is an error, never a silent fallback. The WGPU_BACKEND environment variable overrides it. |
| `compressTextures` | `boolean` | no |  |  | Compress model textures to GPU block formats (BC7 colour, BC5 normals, BC4/BC7 data) as they load, on an HD renderer whose GPU samples BC and that is not paging in virtual textures; each cooked texture is kept in the user's texture cook cache on this machine (the platform cache folder), so it is compressed once per machine. Model (glTF) textures only: material-file and shader textures upload uncompressed. About a quarter of the video memory of the uncompressed upload, at a small cost in texture fidelity and a one-time cook on first load (an HD export cooks them ahead of time and ships them, so a player's first load reads them). On by default (absent is on); false uploads textures uncompressed as RGBA8, byte for byte as before the setting existed. Needs `render.profile` `hd`. |
| `quality` | `ProjectRenderQuality` | no |  |  |  |
| `shaders` | `ProjectRenderShaders` | no |  |  | User shader settings: the escape-hatch switch and raised cost caps. |
