GodotSharp.SourceGenerators
2.3.0
See the version list below for details.
dotnet add package GodotSharp.SourceGenerators --version 2.3.0
NuGet\Install-Package GodotSharp.SourceGenerators -Version 2.3.0
<PackageReference Include="GodotSharp.SourceGenerators" Version="2.3.0" />
paket add GodotSharp.SourceGenerators --version 2.3.0
#r "nuget: GodotSharp.SourceGenerators, 2.3.0"
// Install GodotSharp.SourceGenerators as a Cake Addin #addin nuget:?package=GodotSharp.SourceGenerators&version=2.3.0 // Install GodotSharp.SourceGenerators as a Cake Tool #tool nuget:?package=GodotSharp.SourceGenerators&version=2.3.0
GodotSharp.SourceGenerators
C# Source Generators for use with the Godot Game Engine (supports Godot 4 and .NET 8!)
SceneTree
class attribute:- Generates class property for uniquely named nodes
- Provides strongly typed access to the scene hierarchy (via
_
operator)
GodotOverride
method attribute:- Allows use of On*, instead of virtual _* overrides
- (Requires partial method declaration for use with Godot 4.0)
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 project input actions
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
- Version 2.x supports Godot 4
- Version 1.x supports Godot 3
(See GodotSharp.BuildingBlocks or local tests for example usage patterns)
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard2.0 is compatible. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 2.0
- Microsoft.CodeAnalysis.CSharp (>= 4.7.0)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories (3)
Showing the top 3 popular GitHub repositories that depend on GodotSharp.SourceGenerators:
Repository | Stars |
---|---|
chickensoft-games/GameDemo
The Chickensoft Game Demo — a fully tested, third-person 3D game built with Godot and C#. Now with saving and loading!
|
|
Cat-Lips/GodotSharp.SourceGenerators
C# source generators for the Godot Game Engine
|
|
CSharpRedotTools/Template
A template used for quickly setting up new Redot 4 C# games.
|
v.2.3.0 (prerelease)
- ADDED: Support for .NET 8.0
v.2.2.1
- ADDED: OnImport attribute (GD4 only)
v.2.1.0
- ADDED: CodeComments attribute
- ADDED: OnInstantiate attribute (with protected constructor)
- ADDED: Inline changed action on Notify setter
- ADDED: Implicit operators as an alternative to calling .Get() on scene tree for non-leaf nodes
v.2.0.0
- ADDED: Support for Godot 4.0
-- KnownIssue: GodotOverride requires an additional partial method override declaration
- CHANGED: Notify must be used on property instead of field to access privately generated content
- ADDED: InputMap attribute
v.1.3.3
- ADDED: Support for placeholder scenes
- ADDED: Support for editable instanced scenes
- FIXED: GodotOverride in derived class now calls rather than hides base method
- FIXED: Previously, types could not share the same name. This has now been fixed.
- ADDED: Notify attribute (with support for [Export])
- ADDED: Added support for uniquely named nodes (ie, Godot 3.5 - GetNode("%MyUniqueNode"))
v.1.2.0
- Replaces ISourceGenerator with IIncrementalGenerator for faster builds
- Hierarchy of inherited scenes are now fully accessible from base classes
- Hierarchy of instanced scenes can be made accessible using [SceneTree(traverseInstancedScenes=true)]
- FIXED: Modifications (overrides) of inheritance hierarchy now supported
- FIXED: Inheriting/Instancing scenes without scripts now supported
- FIXED: Consumers with implicit usings enabled now supported
v.1.1.4
- Exposed base classes/helpers to help create project specific source generators
v.1.0.0
- Initial release (SceneTree/GodotOverride)