Namespaces can be used to group related functions and other entities together. Doing so avoids potential conflicts with other entities that happen to use the same name, but is otherwise unrelated.
Namespaces can be used in the application registered interface, as well as in the scripts.
To register a function, or other entity in a specific namespace, the application should first call the method SetDefaultNamespace to define the desired namespace. After that the registration follows the normal procedure as described in the chapter on registering the interface.
If desired nested namespaces can also be used by separating them with the scoping token, ::, e.g. SetDefaultNamespace("outer::inner");
As namespaces allow multiple declarations with the same signature, it is necessary to specify in which namespace a search for an entity is to be done. This is also done with the SetDefaultNamespace method. This applies to both the engine and the module interfaces.