Info
Version: | 2.7.0-251001-1820.Release |
Author(s): | Cat-Lips |
Last Update: | Wednesday, October 1, 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] `Singleton` class attribute (GD4 only):
-- Provides single instance access to data or scene objects
* [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.