# Performance This ECS was built with usability in mind. That being said it is only a pseudo-ECS. As needed you can use either the run or single_entity_step and pre-step to utilize the multithreading we offer. As needed you can switch between these two methods. This ECS can be really performant if you need it to be. # ABC Game Engine - Simple ECS Framework This Rust project provides a basic framework for managing game entities, components, and systems in the ABC Game Engine using an Entity Component System (ECS) approach. # Quick Example Create a World: ```rust use ABC_ECS::World; struct Position { x: f32, y: f32, } struct Velocity { x: f32, y: f32, } fn main(){ let mut world = World::new(); let entities_and_components = &mut world.entities_and_components; // Add an Entity and Components: let entity = entities_and_components.add_entity(); // Add components like Position and Velocity entities_and_components.add_component_to(entity, Position { x: 0.0, y: 0.0 }); entities_and_components.add_component_to(entity, Velocity { x: 1.0, y: 1.0 }); // or you can do it in one step: let entity = entities_and_components .add_entity_with((Position { x: 0.0, y: 0.0 }, Velocity { x: 1.0, y: 1.0 })); } ``` # Documentation Visit the docs [here](https://github.com/ABC-Engine/ABC-ECS/wiki). # Contributing Contributions are welcome! Start by filing an issue and we can work forward from there! If you're not sure what to work on but you want to help [Join the discord and ping me](https://discord.gg/6nTvhYRfpm), I'm happy to help!