Second lowest layer that provides core engine functionality and abstract interfaces for various systems.


 Animation clips, skeletal and blend shape animation, animation playback, blending and other features.
 Entry point into the application and other general functionality.
 Audio clips, 3D sound and music reproduction.
 Built-in components (elements that may be attached to scene objects).
 Core thread
 Core objects and interaction with the core (rendering) thread.
 Import of resources into engine friendly format.
 Input (mouse, keyboard, gamepad, etc.).
 GUI localization.
 Materials, shaders and related functionality.
 Physics system: colliders, triggers, rigidbodies, joints, scene queries, etc.
 Measuring CPU and GPU execution times and memory usage.
 Interface for interacting with the render API (DirectX, OpenGL, etc.).
 Abstract interface and helper functionality for rendering scene objects.
 Core resource types and resource management functionality (loading, saving, etc.).
 Managing scene objects and their hierarchy.
 Generating text geometry.
 Various utility methods and types used by the core layer.