WAF Code Folder

The Code Folder is one of the core folders in the CryEngine. It hosts all the Engine code as well as the game project code such as GameSDK. This is where you should place your game project.

A variety of file types can be found here which can be grouped into three categories:

WAF Module Files

WAF Module Files aka wscript files have two functionalties:

Example of a wscript that simply instructs WAF to search in MyModuleFolder and MyOtherModule folder for further wscript files, relative to this wscript itself.

SUBFOLDERS =    [
    'MyModuleFolder',
  'MyOtherModuleFolder'
    ]
    
def build(bld):
    # Recursive into all sub projects    
    bld.recurse(SUBFOLDERS)


Example of a wscript defining a build module "MyModule" that can be targeted by WAF Spec Files (*.json). The module is composed by the WAF File List: my_module.waf_files

def build(bld):
    bld.CryEngineModule(
        target     = 'MyModule',
        vs_filter  = 'MyModule',        
        file_list  = 'my_module.waf_files',
        pch        = 'StdAfx.cpp' 
        ) 
WAF File List

WAF File List specifies the files which are relevant to compilation process of the module.

If you are using an IDE such as Visual Studio this is also where you define which filter a file will be shown under.

This is also the place where uber files can be defined.

Compilation and project relevant files

Compilation and project relevant files are files of any type that are relevant to your project. In-order to make them visible and add them to the WAF build chain, compilation relevant files have to be added to the file tree files (*.waf_files) of the relevant module.