Seems to work (mostly):
using Godot;
using System;
public partial class node_2d : Node2D
{
public override void _Ready()
{
//Input.SetDefaultCursorShape(Input.CursorShape.Cross);
Input.SetDefaultCursorShape(Input.CursorShape.Drag);
GD.Print(Input.GetCurrentCursorShape());
}
public override void _Process(double delta)
{
GD.Print(Input.GetCurrentCursorShape());
}
}
Changing the cursor works. However, in ready it prints "arrow" and in process it prints "drag".
In case you are trying to change the mouse cursor on a control node, you have to do it on the control itself:
using Godot;
using System;
public partial class control : Control
{
public override void _Ready()
{
MouseDefaultCursorShape = CursorShape.Drag;
GD.Print(MouseDefaultCursorShape);
}
public override void _Process(double delta)
{
GD.Print(MouseDefaultCursorShape);
}
}