# Component System **Component System** enables you to implement your application's logic via a set of building blocks � **components**, and assign these blocks to nodes, giving them additional functionality. By combining these small and simple blocks you can create a very sophisticated logic system. Separate implementations are available for projects using different API selected when [creating a project](../../sdk/projects/index_cpp.md#api): - [**C++ Component System**](../../principles/component_system/component_system_cpp/index.md) - [**C# Component System**](../../principles/component_system/component_system_cs/index.md)