S&box Wiki



Standard .NET file access is restricted to prevent rogue access to your files, this means you can not use System.IO.File or variants directly.

Instead Sandbox provides a BaseFileSystem for several virtual filesystems that can only access files within specific game directories.

// Example of using a FileSystem to read/write a file if ( !FileSystem.Data.FileExists( "player.txt" ) ) FileSystem.Data.WriteAllText( "player.txt", "hello world" ); var hello = FileSystem.Data.ReadAllText( "player.txt" );
// Example of using a FileSystem to save and load player data. class PlayerData { // ... public static void Save(PlayerData data){ FileSystem.Data.WriteJson("player_data.txt", data); } public static PlayerData Load(){ return FileSystem.Data.ReadJson<PlayerData>("player_data.txt"); } // ... }


FileSystem.Mounted is an aggregate filesystem of all mounted content from the core game, the current gamemode and it's dependencies. It is a combination of the following directories:

  • sbox\core\
  • sbox\addons\myaddon\
  • sbox\addons\myaddon\code\
  • sbox\addons\base\
  • sbox\addons\base\code\
  • sbox\addons\citizen\
  • sbox\addons\citizen\code\
  • sbox\addons\rust\
  • sbox\addons\rust\code\

Any time you try to read a file it will search each of these paths.


This is a place to store user data for your game.



This is a place to store user data across several games in your organization.


Special Pages



Render Time: 45ms

DB GetPage 35
Generate Html 1
SaveChanges (1) 6
Render Body 0
Render Sidebar 1