| Crates.io | secs |
| lib.rs | secs |
| version | 0.1.0 |
| created_at | 2025-05-22 22:44:25.306834+00 |
| updated_at | 2025-05-22 22:44:25.306834+00 |
| description | Shit Entity Component System |
| homepage | |
| repository | https://github.com/wick3dr0se/secs |
| max_upload_size | |
| id | 1685692 |
| size | 76,983 |
secs is an ECS for people who want something with the bare minimum. No complex features, no unnecessary abstractions — just the essentials, no strings attached (but you could do that)
If you’re tired of ECS libraries that make you feel like you’re writing a thesis on systems design, secs is here to give you what you need and nothing more
You could use something like hecs, specs or bevy for your ECS needs, but why chase frills when you could have uncomplicated secs? It's simple, lightweight and may (or may not) get the job done. No promises. If you need more, you can always try something else
secs — without the fluff
Get secs
cargo add secs
Example: How it’s probably supposed to work
use secs::World;
let mut world = World::default();
world.spawn((Component1 { /* your data */ }, Component2));
world.query(|entity, c1: &Component1, c2: &mut Component2| {
// maybe get mixed mutability components
})
See more examples in examples/
Want to make secs less shitty? Contributions are much appreciated