Configuring an IDE for engine sources
Workspace, generation options and observed SCons diagnostics.
Source development environment
This section concerns engine C++ sources. For game C# code, open the game project and start with C# basics. Solutions under Source/modules/mono/ serve individual managed components; they do not replace the entire C++ engine project.
Choose the workspace
Open Source, containing SConstruct, core, scene, editor and platform. SCons commands in this section refer to that directory, rather than the installed Runtime or game project.
First select platform, target and arch using the build guide. The IDE must use the same configuration as the build system. Opening a folder alone does not create generated headers, install a compiler or build a binary.
| Task | Next step |
|---|---|
| Visual Studio C++ project | Solution generation and its limitations. |
| C++ indexing in VS Code | Compilation database. |
| Understand SCons options | Build system. |
| Develop managed engine components | Building with .NET. |
Compilation database
compile_commands.json describes individual compilation commands: files, working directories, include paths and definitions. It is input for code analysis rather than a completed build or list of game scripts.
Current SConstruct declares compiledb=yes and compiledb_gen_only=yes. The latter exits configuration after writing the database. Database generation still requires successful SCons configuration; avoiding compilation does not remove toolchain and source prerequisites. Refresh the database after changing platform, modules or options.
Known problem in the current tree
The glob_recursive and glob_recursive_2 functions in Source/methods.py import SCons.Entity. Installed SCons 4.11.1 does not provide that module: isolated execution of both functions raises ImportError before directory traversal. Solution and full database generation therefore cannot be presented as verified working for this source state.
This concerns build helpers rather than IntelliSense configuration. Reinstalling an IDE extension will not repair that traceback. Preserve the SCons version and complete stack, and inspect source state; do not rename third-party Python modules to follow engine terminology. Reading and editing sources does not require replacing the working installed Runtime.
Option declarations and the actual two-helper failures were checked. Full SCons configuration, solution/database generation, C++ compilation and IDE interface operation were not performed in this run. Sources and installed engine were unchanged.