# Enum.ModelStreamingMode

Roblox Engine API enum from Roblox Studio 0.744.0.7441077 (version-7aaa6838d36c4448).

- HTML page: https://rapi.sleaze.dev/enums/ModelStreamingMode/
- Roblox documentation: https://create.roblox.com/docs/reference/engine/enums/ModelStreamingMode

Controls stream in and out behavior of a model.

## Items

| Name | Value | Description |
| --- | --- | --- |
| `Default` | 0 | Default behavior (subject to change). |
| `Atomic` | 1 | The [`Model`](https://rapi.sleaze.dev/classes/Model.md) and all of its descendants are streamed in/out together. For streaming in, this applies when **any** descendant [`BasePart`](https://rapi.sleaze.dev/classes/BasePart.md) is eligible for streaming in. For streaming out, this applies when **all** descendant `BaseParts` are eligible for streaming out. |
| `Persistent` | 2 | Persistent models are sent as a complete atomic unit soon after the player joins and before the [`Workspace.PersistentLoaded`](https://rapi.sleaze.dev/classes/Workspace.md) event fires. Persistent models and their descendants are never streamed out. |
| `PersistentPerPlayer` | 3 | Behaves as a persistent model for players that have been added using [`Model:AddPersistentPlayer()`](https://rapi.sleaze.dev/classes/Model.md). For other players, behavior is the same as [`Atomic`](https://rapi.sleaze.dev/enums/ModelStreamingMode.md). You can revert a model from player persistence via [`Model:RemovePersistentPlayer()`](https://rapi.sleaze.dev/classes/Model.md). |
| `Nonatomic` | 4 | When a nonatomic model is streamed, descendants are also sent, except for part descendants. Nonatomic models that are not descendants of parts are sent during experience loading. |

## Used by

Each entry lists the class, then the role and names of the members that use this type.

- [Model](https://rapi.sleaze.dev/classes/Model.md): property `ModelStreamingMode`
