https://github.com/chickensoft-games/supernodes
Supercharge your Godot nodes with power-ups and third party source generators.
https://github.com/chickensoft-games/supernodes
generator godot mixins
Last synced: 3 months ago
JSON representation
Supercharge your Godot nodes with power-ups and third party source generators.
- Host: GitHub
- URL: https://github.com/chickensoft-games/supernodes
- Owner: chickensoft-games
- License: mit
- Archived: true
- Created: 2023-01-14T22:49:31.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-04-29T21:23:11.000Z (over 1 year ago)
- Last Synced: 2025-03-26T14:51:59.567Z (6 months ago)
- Topics: generator, godot, mixins
- Language: C#
- Homepage: https://www.nuget.org/packages/Chickensoft.SuperNodes/
- Size: 292 KB
- Stars: 58
- Watchers: 5
- Forks: 6
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
# 🔮 SuperNodes
[![Chickensoft Badge][chickensoft-badge]][chickensoft-website] [![Discord][discord-badge]][discord] [![Read the docs][read-the-docs-badge]][docs] ![line coverage][line-coverage] ![branch coverage][branch-coverage]
SuperNodes is a C# source generator that gives superpowers to Godot node scripts.
---
![]()
*Supercharge your Godot nodes with lifecycle-aware mixins, third party source generators, script introspection, and dynamic property manipulation — all without runtime reflection!*
---
## 📖 [Documentation][docs]
SuperNodes can do a LOT — [check out the official documentation][docs] 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![chickensoft-badge]: https://raw.githubusercontent.com/chickensoft-games/chickensoft_site/main/static/img/badges/chickensoft_badge.svg
[chickensoft-website]: https://chickensoft.games
[discord]: https://discord.gg/gSjaPgMmYW
[discord-badge]: https://raw.githubusercontent.com/chickensoft-games/chickensoft_site/main/static/img/badges/discord_badge.svg
[read-the-docs-badge]: https://raw.githubusercontent.com/chickensoft-games/chickensoft_site/main/static/img/badges/read_the_docs_badge.svg
[docs]: https://chickensoft.games/docs/super_nodes
[line-coverage]: https://raw.githubusercontent.com/chickensoft-games/SuperNodes/main/SuperNodes.Tests/reports/line_coverage.svg
[branch-coverage]: https://raw.githubusercontent.com/chickensoft-games/SuperNodes/main/SuperNodes.Tests/reports/branch_coverage.svg