# Bundles
## `SceneBundle`
```rust
pub struct SceneBundle {
/// Handle to the scene to spawn.
pub scene: Handle<Scene>,
/// Transform of the scene root entity.
pub transform: Transform,
/// Global transform of the scene root entity.
pub global_transform: GlobalTransform,
/// User-driven visibility of the scene root entity.
#[cfg(feature = "bevy_render")]
pub visibility: Visibility,
/// Inherited visibility of the scene root entity.
#[cfg(feature = "bevy_render")]
pub inherited_visibility: InheritedVisibility,
/// Algorithmically-computed visibility of the scene root entity for rendering.
#[cfg(feature = "bevy_render")]
pub view_visibility: ViewVisibility,
}
```
## `DynamicSceneBundle`
```rust
pub struct DynamicSceneBundle {
/// Handle to the scene to spawn.
pub scene: Handle<DynamicScene>,
/// Transform of the scene root entity.
pub transform: Transform,
/// Global transform of the scene root entity.
pub global_transform: GlobalTransform,
/// User-driven visibility of the scene root entity.
#[cfg(feature = "bevy_render")]
pub visibility: Visibility,
/// Inherited visibility of the scene root entity.
#[cfg(feature = "bevy_render")]
pub inherited_visibility: InheritedVisibility,
/// Algorithmically-computed visibility of the scene root entity for rendering.
#[cfg(feature = "bevy_render")]
pub view_visibility: ViewVisibility,
}
```
## Combined Proposal 1 (Selected)
```rust=
#[derive(Component)]
#[require(Transform)]
#[cfg_attr(feature = "bevy_render", require(Visibility))]
struct SceneRoot(Handle<Scene>);
#[derive(Component)]
#[require(Transform)]
#[cfg_attr(feature = "bevy_render", require(Visibility))]
struct DynamicSceneRoot(Handle<DynamicScene>);
```