Info
| Version: | 2.7.0-251025-1634.Release |
| Author(s): | Cat-Lips |
| Last Update: | Saturday, October 25, 2025 |
| .NET Fiddle: | Online Example |
| Project Url: | https://github.com/Cat-Lips/GodotSharp.SourceGenerators |
| NuGet Url: | https://www.nuget.org/packages/GodotSharp.SourceGenerators |
Install
Install-Package GodotSharp.SourceGenerators
dotnet add package GodotSharp.SourceGenerators
paket add GodotSharp.SourceGenerators
GodotSharp.SourceGenerators Download (Unzip the "nupkg" after downloading)
Dependencies
- Microsoft.CodeAnalysis.CSharp(>= 3.8.0)
Tags
* `SceneTree` class attribute:
-- Provides strongly typed access to the scene hierarchy (via `_` operator)
-- Generates direct access to uniquely named nodes via class properties
-- Provides static access to TscnFilePath
-- Provides static Instantiate method
* [NEW] `ResourceTree` class attribute (GD4 only):
-- Provides strongly typed access to the resource hierarchy
* [NEW] `Singleton` class attribute (GD4 only):
-- Provides single instance access to data or scene objects
* [NEW] `Shader` class attribute (GD4 only):
-- Provides strongly typed access to shader uniforms
* [NEW] `AutoEnum` class attribute (GD4 only):
-- Generates enum conversions for static data classes
* [NEW] `AutoEnum` enum attribute (GD4 only):
-- Generates efficient Str/Parse for enums
* [NEW] `AudioBus` class attribute (GD4 only):
-- Provides strongly typed access to audio bus names and ids
* [NEW] `AnimNames` class attribute (GD4 only):
-- Provides strongly typed access to animation names defined in .tres and .tscn files
* [NEW] `GlobalGroups` class attribute (GD4 only):
-- Provides strongly typed access to global groups defined in godot.project
* [NEW] `Instantiable` class attribute (GD4 only):
-- Generates configurable static methods to instantiate scene
* [NEW] `TR` class attribute (GD4 only):
-- Provides strongly typed access to translation locales and keys (as defined in csv)
* `GodotOverride` method attribute:
-- Allows use of On*, instead of virtual _* overrides
-- (Requires partial method declaration for use with Godot 4)
* `Notify` property attribute:
-- Generates boiler plate code, triggering only when values differ
-- (Automagically triggers nested changes for Resource and Resource[])
* `InputMap` class attribute:
-- Provides strongly typed access to input actions defined in godot.project
-- Attribute option to replace StringName with your own custom object/handler
* `LayerNames` class attribute:
-- Provide strongly typed access to layer names defined in godot.project
* `Autoload`/`AutoloadRename` class attribute:
-- Provide strongly typed access to autoload nodes defined in godot.project
* `CodeComments` class attribute:
-- Provides a nested static class to access property comments from code (useful for in-game tooltips, etc)
* `OnInstantiate` method attribute:
-- Generates a static Instantiate method with matching args that calls attributed method as part of the instantiation process
-- (Also generates a protected constructor to ensure proper initialisation - can be deactivated via attribute)
* `OnImport` method attribute (GD4 only):
-- Generates default plugin overrides and options to make plugin class cleaner (inherit from OnImportEditorPlugin)
* Includes base classes/helpers to create project specific source generators.