IssueRaiser

Godot C# GDExtension Roadmap Discussion

**NOTE**: This proposal aims to be a public technical discussion regarding the future of C# in Godot. The idea is to get help from the community to reach implementation direction consensus. ### Describe the project you are working on Godot C# Bindings ### Describe the problem or limitation you are having in your project The current implementatio of C# in Godot is done on top of the script layer directly and in C++ using the .NET hosting API. This is due to how Godot worked in version 3. It currently has the following problems: * Large amounts of C++ are required to glue Godot to the C# runtime, this makes it **difficult to maintain** and redundant with the new extension system in Godot 4. It is a lot of C++ code that supplies the same function as GDExtension. * Many of the APIs exposed to C# currently are lagging behind what GDExtension provides, preventing many optimizations. * It makes it harder to have a single version of Godot, because the large amount of glue code encourages users to switch it off when not needed to save space. ### Describe the feature / enhancement and how it helps to overcome the problem or limitation The proposed solution is to move C# support to the new extension system in Godot 4.0. This will give C# in Godot effective first class support at the same level C++ has, bringing the following features: * The entirety of the C# glue layer (currently done via C++ .net hosting API) **will be majorly replaced by GDExtension**, using the extension in

Posted by reduz on Sep 27, 2023, 5:37 PM

Tags

Related issues

Raise real-world problems, find people facing the same issue, and discuss solutions.2,000 issues0 comments

ux (Software)

Godot C# GDExtension Roadmap Discussion

reduzSep 27, 2023, 5:37 PM

**NOTE**: This proposal aims to be a public technical discussion regarding the future of C# in Godot. The idea is to get help from the community to reach implementation direction consensus. ### Describe the project you are working on Godot C# Bindings ### Describe the problem or limitation you are having in your project The current implementatio of C# in Godot is done on top of the script layer directly and in C++ using the .NET hosting API. This is due to how Godot worked in version 3. It currently has the following problems: * Large amounts of C++ are required to glue Godot to the C# runtime, this makes it **difficult to maintain** and redundant with the new extension system in Godot 4. It is a lot of C++ code that supplies the same function as GDExtension. * Many of the APIs exposed to C# currently are lagging behind what GDExtension provides, preventing many optimizations. * It makes it harder to have a single version of Godot, because the large amount of glue code encourages users to switch it off when not needed to save space. ### Describe the feature / enhancement and how it helps to overcome the problem or limitation The proposed solution is to move C# support to the new extension system in Godot 4.0. This will give C# in Godot effective first class support at the same level C++ has, bringing the following features: * The entirety of the C# glue layer (currently done via C++ .net hosting API) **will be majorly replaced by GDExtension**, using the extension in

Comments (0)

No comments yet. Start the discussion.

Comment on this issue