Ushi is an Enity-Component-System implementation using C++20. The implementation is incomplete and will be updated.
✅ Compact data to improve cache locality
✅ Compile-time configurations
✅ Type safety and better compile-error messages (slightly) with C++20 concept
✅ Simple interface
- Concurrency
- Lazy evaluation
- Custom allocators support through compile-time configurations
The build is CMake-based.
├── Benchmarks cache and performance benchmarks
│ └── Data benchmarking results
├── CMake cmake utilities
├── Examples basic usage examples
├── Include/Ushi source code
│ ├── Container dense map, dense set, graph, etc
│ ├── Core base layer
│ ├── Impl core modules
│ │ ├── Component component module
│ │ ├── Concurrency concurrency handler
│ │ ├── Config compile-time configurations
│ │ ├── Entity entity module
│ │ ├── System system module
│ │ └── World highest-level abstraction of the implementation
│ └── Interface public interface (includes a forward header)
└── Test contains mostly integration tests