Skip to content
This repository has been archived by the owner on Jun 10, 2024. It is now read-only.

Supercharge your Godot nodes with power-ups and third party source generators.

License

Notifications You must be signed in to change notification settings

chickensoft-games/SuperNodes

Repository files navigation

🔮 SuperNodes

Chickensoft Badge Discord Read the docs line coverage branch coverage

SuperNodes is a C# source generator that gives superpowers to Godot node scripts.


SuperNodes Logo

Supercharge your Godot nodes with lifecycle-aware mixins, third party source generators, script introspection, and dynamic property manipulation — all without runtime reflection!


SuperNodes can do a LOT — check out the official documentation for usage details.

  • ✅ Apply PowerUps (essentially mixins for C#) to any class or record.
  • ✅ PowerUps applied to a GodotObject or Godot Node can hook into the node's lifecycle, observing events and running code before user script callbacks.
  • ✅ Use third-party source generators alongside Godot's official source generators.
  • ✅ Get and set the value of script properties and fields at runtime, without using reflection.
  • ✅ Examine the attributes and types of script properties and fields at runtime, without using reflection.
  • ✅ Inspect SuperNodes across assemblies using the shared runtime types.
  • ✅ Compatible with source-only nuget packages.
  • ✅ Inspect SuperNodes across assemblies using the shared runtime types.
  • ✅ 100% code coverage. Contact us in Discord if you find a problem!