- S&box SDK (latest version) - https://sbox.game
- .NET 10 SDK - https://dotnet.microsoft.com/download/dotnet/10.0
- IDE: Visual Studio 2022, VS Code, or Rider
- Git
git clone https://github.com/echohello-dev/basebound.git
cd basebound- Launch S&box Launcher
- Click "Create Project" or "Open Project"
- Select
basebound.sbprojfrom the cloned directory - Wait for initial load and compilation
- The project will load with hot-reload enabled
For C# Development:
- Open
basebound.slnin Visual Studio 2022 or Rider - Code will auto-compile with millisecond hot-reload
- Use Code/Properties/launchSettings.json "Editor" profile for debugging
For other editors:
- VS Code with C# extension works well
- Open the
Codefolder
- S&box will load the default scene:
Assets/scenes/minimal.scene - Press Play in the S&box editor
- You're now running the game
Assets/scenes/minimal.scene- Minimal startup scene (default)Assets/construct1.scene- Construction/base building test mapAssets/flatgrass1.scene- Flat grass terrain test map
One of S&box's key features is millisecond hot-reload:
- Edit C# code in your IDE
- Save the file
- Code compiles automatically (~100-500ms)
- Changes apply instantly in the running game
- No restart needed
This makes iteration extremely fast during development.
# Terminal in VS Code or IDE
# Make changes to code
# Save file → automatically compiles
# See changes in running S&box game
# To rebuild from scratch
sbox-dev.exe -project "path/to/basebound.sbproj"- basebound.sbproj - Main project file
- basebound.sln - Solution for IDE
- Code/basebound.csproj - Runtime code project
- Editor/basebound.editor.csproj - Editor tools project
basebound/
├── README.md → Project overview
├── CONTRIBUTING.md → Contribution guidelines
├── LICENSE → MIT License
├── docs/ → Documentation
│ ├── setup.md → This file
│ ├── architecture.md → Component pattern & architecture
│ ├── networking.md → Multiplayer & networking
│ ├── code-standards.md → Naming and code conventions
│ └── gameplay.md → Game systems (economy, raids, etc)
├── Code/ → Runtime game logic
│ ├── Assembly.cs
│ ├── MyComponent.cs → Component template
│ └── Properties/
├── Editor/ → Editor-only tools
│ ├── Assembly.cs
│ ├── MyEditorMenu.cs → Menu template
│ └── Properties/
├── Assets/ → Scenes, models, materials
│ ├── scenes/
│ │ └── minimal.scene
│ ├── construct1.scene
│ └── flatgrass1.scene
└── ProjectSettings/ → Engine configuration
├── Collision.config
└── Input.config
- Ensure .NET 10 SDK is installed:
dotnet --version - Clear S&box cache: Delete
AppData/Local/sboxand reopen - Verify S&box SDK is up to date
- Check Output panel in VS Code or IDE
- Ensure all NuGet packages are restored:
dotnet restore - Try rebuilding: Right-click solution → Rebuild
- Verify code is saved
- Check for syntax errors (red squiggles in IDE)
- Restart S&box and IDE if stuck
- Hot-reload works best with small, focused changes
- Check log file in S&box output
- Verify all required components are present
- Ensure no circular component dependencies
- Read the architecture: See architecture.md
- Understand components: Review Code/MyComponent.cs
- Check code standards: See code-standards.md
- Start contributing: Read CONTRIBUTING.md
- S&box Documentation: https://docs.facepunch.com/s/sbox-dev
- S&box API Reference: https://sbox.game/api
- Facepunch Discord: https://discord.gg/sbox
- Project Issues: https://github.com/echohello-dev/basebound/issues