A C# source generator for Godot 3.x that provides onready-like features for C# scripts without reflection.
GodotOnReady is a C# source generator for Godot 3.x Mono projects that adds onready-like features to C# scripts. It automates node and resource loading, eliminating repetitive boilerplate code in _Ready methods and providing a cleaner scripting workflow. The tool uses source generation to avoid reflection, ensuring performance and type safety.
Godot developers using C# with the Mono version in Godot 3.x, particularly those looking to reduce boilerplate and streamline node initialization in their scripts.
Developers choose GodotOnReady because it significantly reduces manual node and resource loading code, integrates seamlessly with the Godot editor, and uses source generation for zero runtime overhead. It offers a more concise and maintainable alternative to traditional C# scripting patterns in Godot.
A C# Source Generator that adds convenient onready-like features to your C# scripts in Godot Mono (3.x) without any reflection.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Automates node and resource loading with attributes like [OnReadyGet], replacing manual GetNode calls and reducing repetitive code, as shown in the README's comparison example.
Automatically exports properties for node paths in the Godot editor, allowing visual configuration without additional Export attributes, streamlining workflow.
Uses C# source generation instead of runtime reflection, ensuring zero overhead during initialization and maintaining type safety, as emphasized in the philosophy.
Offers Order parameter in [OnReady] attributes to sequence method calls precisely in _Ready, improving setup logic for complex scenes.
Explicitly does not support Godot 4.0+ due to source generator conflicts, limiting future adoption and forcing projects to stick with Godot 3.x.
Requires specific configurations like setting the build tool to dotnet CLI and using .NET SDK 6.0+, which can be error-prone, especially in CI environments or for new users.
Forces the use of partial classes, which may confuse developers unfamiliar with C# source generators and restrict certain inheritance or code organization patterns.