Sign in Sign up
nuget

GodotSharp.SourceGenerators

C# Source Generators for use with the Godot Game Engine - NB: Version 2.7 introduces an ever so slight [BREAKING CHANGE] in that scope strings have been replaced with a more definitive enum set. - NB: Version 2.7 introduces an ever so slight [BREAKING CHANGE] in that the Autoload class must now be explicitly decorated instead of implicitly generated. - NB: Version 2.7 introduces an ever so slight [BREAKING CHANGE] in that identifiers comprised of unicode characters no longer need to be prefixed with `_` and other invalid characters are now removed instead of being replaced with `_`. * `SceneTree` class attribute: -- Provides strongly typed access to the scene hierarchy (via `_` operator) -- Generates direct access to uniquely named nodes via class properties * [NEW] ISceneTree interface for use with generics (GD4 only) -- Provides static access to TscnFilePath * [NEW] IInstantiable interface for use with generics (GD4 only) -- Provides static Instantiate method * [NEW] Custom default scope for uniquely named node properties -- Specific properties can be overridden with a partial property (GD4 only) * [NEW] `AnimNames` class attribute (GD4 only): -- Provides strongly typed access to animation names defined in .tres and .tscn files * [NEW] `AudioBus` class attribute (GD4 only): -- Provides strongly typed access to audio bus names and ids * [NEW] `AutoEnum` enum/class attribute (GD4 only): -- (enum) Generates efficient Str/Parse for enums -- (class) Generates enum for static data classes (for editor/network use) * `Autoload` 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) * [NEW] `GlobalGroups` class attribute (GD4 only): -- Provides strongly typed access to global groups defined in godot.project * `GodotOverride` method attribute: -- Allows use of On*, instead of virtual _* overrides -- (Requires partial method declaration for use with Godot 4) * `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 * [NEW] `Instantiable` class attribute (GD4 only): -- Generates configurable static method(s) to instantiate scene * `LayerNames` class attribute: -- Provide strongly typed access to layer names defined in godot.project * `Notify` property attribute: -- Generates boiler plate code, triggering only when values differ -- (Automagically triggers nested changes for Resource and Resource[]) * `OnImport` method attribute (GD4 only): -- Generates default plugin overrides and options to make plugin class cleaner (inherit from OnImportEditorPlugin) -- (This will be removed in next major release) * `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) -- (This will be removed in favour of `Instantiable` in next major release) * [NEW] `ResourceTree` class attribute (GD4 only): -- Provides strongly typed access to the resource hierarchy * [NEW] Generators for `Rpc` methods (GD4 only): -- Provides strongly typed access to Rpc and RpcId methods * [NEW] `Shader` class attribute (GD4 only): -- Provides strongly typed access to shader uniforms (or visual shader parameters) * [NEW] `ShaderGlobals` class attribute (GD4 only): -- Provides strongly typed access to global shader uniforms defined in godot.project * [NEW] `Singleton` class attribute (GD4 only): -- Provides single instance access to data or scene objects * [NEW] `TR` class attribute (GD4 only): -- Provides strongly typed access to translation locales and keys (as defined in csv) * Includes base classes/helpers to create project specific source generators

Activity

Latest release
3mo ago
Total releases
75
Cadence
~12 days
Last 12 months
15

Reach

Stars

Details

License
MIT
First release
Jan 27, 2021
Releases
Version Released
2.7.0 minor
2.7.0-260519-1042.Release pre
2.7.0-260429-2100.Release pre
2.7.0-260408-2121.Release pre
2.7.0-260407-1849.Release pre
2.7.0-260331-1947.Release pre
2.7.0-260308-1543.Release pre
2.7.0-260223-0917.Release pre
2.7.0-260208-1601.Release pre
2.7.0-260201-1801.Release pre
2.7.0-251124-0938.Release pre
2.7.0-251111-2046.Release pre
2.7.0-251108-1757.Release pre
2.7.0-251025-1634.Release pre
2.7.0-251001-1820.Release pre
2.7.0-250928-2100.Release pre
2.7.0-250923-1943.Release pre
2.7.0-250922-1926.Release pre
2.7.0-250918-1816.Release pre
2.7.0-250918-0007.Release pre
2.6.0 minor
2.6.0-250721-1041.Release pre
2.6.0-250131-2115.Release pre
2.6.0-250119-1531.Release pre
2.5.1-241228-1651.Release pre
2.5.0 minor
2.4.1-241118-2013.Release pre
2.4.1-241107-1157.Release pre
2.4.1-241102-1224.Release pre
2.4.1-241017-1218.Release pre
2.4.1-241017-1201.Release pre
2.4.1-241016-2342.Release pre
2.4.0 minor
2.4.0-240626-1054.Release pre
2.4.0-240429-1137.Release pre
2.3.4 patch
2.3.4-240426-1941.Release pre
2.3.3 patch
2.3.3-240115-0706.Release pre
2.3.2 patch
2.3.1 patch
2.3.1-231211-0953.Release pre
2.3.0 minor
2.2.1 minor
2.1.1 patch
2.1.0 minor
2.1.0-230621-1151.Release pre
2.1.0-230426-1916.Release pre
2.1.0-230420-1952.Release pre
2.1.0-230411-1909.Release pre
1–50 of 75