Simple implementation of ECS in Godot with C#.
This project serves to provide a basic example of how to implement ECS in Godot with C#. It's intended to be primarily used as a shell for quickstarting Game Dev.
This ECS implementation defines the following generic classes:
EntityComponentExecutor(Systemequivalent)
These classes extend the Godot base classes Node and Node3D. All Godot base nodes (such as Camera3D and WorldEnvironment) are created programatically as Entity types and added to the ECS system and Godot Scene tree at run time.
The Manager class handles registration and deletion of Entity types and their Components.
The World class instantiates the Manager and Executors, as well as Entities used in the example scene.
The term Executor was chosen in place of System due to it's reserved status in C#.
- Install Godot with C# support (.Net option) from the Official Website. This project is built on Godot version 4.2.1.
- Run the following command in the location of your choice.
git clone https://github.com/Jacobsmith96/godot-ecs-cs.git
- Run Godot, click Import and browse to the location of the cloned repo.
- Run the
mainscene by clicking the play button in the top right of Godot editor window. - You can test input with the
WASDkeys.
- Please submit issues or feature requests using the
Issuestab of the Github Repository.
Contributors names and contact info
Jacob Smith
- 0.1
- Initial Release
This project is licensed under the MIT License - see the LICENSE.md file for details.