Describe the problem or limitation you are having in your project
Can not use GDExtension things like pointers and native structs in C# so you can not implement audio playbacks in C#
Describe the feature / enhancement and how it helps to overcome the problem or limitation
Enhance the interoperability between Godot's core and the C# language, particularly focusing on efficient memory operations. These features will simplify the management of native data, improve performance in certain scenarios, and give developers a more granular level of control over their code.
Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams
Generator for GDExtension Native Structs: This will enable Godot's native structs to be represented directly in C#, paving the way for more straightforward and efficient data operations.
IntPtr to Variant in C#: By adding support for the IntPtr type within the Variant system, we will be allowing seamless transitions between managed and unmanaged memory in Godot C# scripts.
Support in C# Source Gen for Pointers and Ref Types: This enhancement will make it easier for developers to work with reference types and pointers, providing clearer and more efficient memory operations.
Public Access to InteropUtils.UnmanagedGetManaged: By making InteropUtils.UnmanagedGetManaged public, developers can utilize the nint in the generated native structs, thus expanding the available tools for memory operations in Godot C#.
If this enhancement will not be used often, can it be worked around with a few lines of script?
Because you can't use GDExtension easily with C# it is not essay to work around and if you want to link it to your networking system you just can't
Is there a reason why this should be core and not an add-on in the asset library?
because is a problem with the C# implementation not supporting it
Describe the project you are working on
Networked VR Editor
Describe the problem or limitation you are having in your project
Can not use GDExtension things like pointers and native structs in C# so you can not implement audio playbacks in C#
Describe the feature / enhancement and how it helps to overcome the problem or limitation
Enhance the interoperability between Godot's core and the C# language, particularly focusing on efficient memory operations. These features will simplify the management of native data, improve performance in certain scenarios, and give developers a more granular level of control over their code.
Describe how your proposal will work, with code, pseudo-code, mock-ups, and/or diagrams
Generator for GDExtension Native Structs: This will enable Godot's native structs to be represented directly in C#, paving the way for more straightforward and efficient data operations.
IntPtr to Variant in C#: By adding support for the IntPtr type within the Variant system, we will be allowing seamless transitions between managed and unmanaged memory in Godot C# scripts.
Support in C# Source Gen for Pointers and Ref Types: This enhancement will make it easier for developers to work with reference types and pointers, providing clearer and more efficient memory operations.
Public Access to InteropUtils.UnmanagedGetManaged: By making InteropUtils.UnmanagedGetManaged public, developers can utilize the nint in the generated native structs, thus expanding the available tools for memory operations in Godot C#.
If this enhancement will not be used often, can it be worked around with a few lines of script?
Because you can't use GDExtension easily with C# it is not essay to work around and if you want to link it to your networking system you just can't
Is there a reason why this should be core and not an add-on in the asset library?
because is a problem with the C# implementation not supporting it