s&box
RustCounter-Strike 2s&boxDeadlock
Wiki
Get s&box on Steam
Browse
OverviewGetting StartedCreating GamesEngine & ToolsDocumentationCommunity GamesResources
s&boxDocumentationGameplayClutter
SOURCE 2 · C#
Build and play games with s&box.

Facepunch's game engine and creation platform — make games in C#, or jump straight into community games.

Get s&box on Steam

s&box Wiki

  • Overview
  • Getting Started
  • Creating Games
  • Engine & Tools
  • Documentation
  • Community Games
  • Resources

Tools & Community

  • Getting Started
  • Creating Games
  • Engine & Tools
  • Resources

Platforms

  • RustBattle
  • CSBattle
  • Rust Game Wiki
  • CS2 Skins Wiki
  • Deadlock Wiki

About

  • Official Site
  • Developer Wiki
  • GitHub
  • Get on Steam
NOT AFFILIATED WITH FACEPUNCH STUDIOS · © 2026 s&box Wiki (community)
Docs/Gameplay
Gameplay

Clutter

The Clutter System lets you quickly scatter large amounts of small objects like grass, rocks, and debris across your scene. It handles placement, streaming, and GPU-instanced rendering for models automatically.

A Clutter Definition is an asset that describes what to scatter and how. Create one from the Asset Browser via Create > Clutter Definition.

Entries

A list of models or prefabs to scatter. Each entry has a Weight value that controls how likely it is to be picked relative to other entries. Use models for simple static props like grass or rocks, and prefabs when you need components or behaviors.

Scatterer

Controls how entries are distributed across the surface.

ScattererDescription
SimpleRandom placement with configurable density, scale range, ground alignment, and height offset. Good for most use cases.
SlopeFilters entries by surface angle. Map different entries to different slope ranges e.g. grass on flat ground, rocks on steep slopes.
Terrain MaterialPlaces entries based on the terrain material at each point. Map specific entries to specific terrain layers. e.g. flowers on dirt, moss on rock.

It is possible to extend and implement your own scatterer in case you need more scattering rules. e.g. using splines, volumes, or textures to drive the scattering

Streaming

Controls the tile grid used for generation and streaming:

  • Tile Size: Size of each generation tile (256–4096 units). Larger tiles mean fewer generation jobs but coarser streaming granularity.
  • Tile Radius: How many tiles around the camera to keep populated (1–10). Controls the visible range of clutter.

Clutter Component

Add a ClutterComponent to a GameObject in your scene and assign a Clutter Definition. It has two modes:

ModeDescription
InfiniteStreams tiles around the camera automatically. Tiles are created and destroyed as the camera moves. Use this for open-world ground cover.
VolumeGenerates clutter within a fixed bounding box. Click Generate to populate. Instances are saved with the scene.

In Infinite mode, the system automatically regenerates tiles when the terrain is modified underneath them.

Clutter Tool

The Clutter Tool in the editor toolbar lets you paint and erase clutter instances by hand.

  • Paint: Left-click to scatter instances at the brush location using the assigned scatterer.
  • Erase: Ctrl+click to remove instances within the brush radius.

The brush has Size and Opacity settings. Opacity controls how many of the generated candidates are actually placed, letting you thin out placement for a more natural look.

Painted instances are stored separately from generated ones and persist with the scene.

Source: Facepunch/sbox-docs (CC-BY-4.0) · updated 2026-04-03. Read it rendered on the official docs.

More in Gameplay

Controller Input
Costs & Filters
Creating Terrain
Gameplay
Glyphs
Input
Inventory
Inventory & Weapons
← All documentation

Community wiki — not affiliated with Facepunch Studios. For the latest and most authoritative information, see the official developer wiki.