Getting Started
Setting Up Your Solution
Open Visual Studio and create a new blank solution anywhere you’d like. Once created, you’ll add references to the Chisel projects from your download folder.
In Visual Studio, go to File → New → Project, search for Blank Solution, and save it wherever you’d like.
Right-click the solution and choose Add → Existing Project. Navigate to your Chisel download and select:
Repeat and add:
Right-click your game project and open Properties → Debug. In the Command line arguments field, enter:
This tells the engine to compile all entity data on launch. You don’t need this flag for final builds, but it’s good practice to always have it set in Visual Studio during development.
Set FPSTemplate as the startup project, then hit Run.
Starting Your Own Game
The FPS template is your starting point for any new project. Rather than starting from scratch, you copy and rename it. Even though it’s an FPS template, it’s written in a way that you could adapt it to just about any type of project.
Duplicate Chisel/FPSTemplate and rename the copy to your project name, e.g. Chisel/MyGame.
Inside the folder, rename FPSTemplate.csproj to match your project, e.g. MyGame.csproj.
Right-click the solution, choose Add → Existing Project, then select your new MyGame.csproj.
Open Properties → Debug for your new project and add -compile to the command line arguments.
In GameEngine.cs, set GameSettings.GameName to something unique. This determines where save files and settings are stored on disk.
Find and replace FPSTemplate with your project name throughout the codebase if you want the namespace to match. This is entirely optional.
The -compile Flag
The -compile flag tells the engine to scan all loaded assemblies for entity classes marked with [EntityDescriptor] and write out a definition file (Data/def.eds) that the map editor and compiler read. Without it, the editor won’t know about any of your entities.
You only need to run with -compile when you add, rename, or change the properties or inputs/outputs of an entity class. In practice it’s simplest to just always have it set in your Visual Studio debug profile.
The compiled definition file is what you point Rockwall 2 at during editor setup. See Editor Setup for that step.
You do not need -compile in release builds shipped to players. It is a development-only flag.
The Working Folder
The FPS template uses a Working/ folder as its content root during development. This is where maps, materials, models, particles, and audio live while you’re iterating. The build system copies contents from this folder into Content/ as part of the build process, but it will only copy files it needs (so you can safely store things like blend files and whatnot in here).
When you look at file paths in code you’ll see Content/ prefixed paths. These map to the same files you edit in Working/. Keep that in mind when the engine logs a missing file: the path it prints is the runtime path, not the source path.