GD0002: Missing partial modifier on declaration of type which contains nested classes that derive from RedotObject

==================================== ====================================== Value ==================================== ====================================== Rule ID GD0002 Category Usage Fix is breaking or non-breaking Non-breaking Enabled by default Yes ==================================== ======================================

Cause

A type that derives from RedotObject is contained in a non-partial type declaration.

Rule description

Redot source generators add generated code to user-defined types to implement the integration with the engine. Source generators can't add generated code to types that aren't declared partial.

public class InvalidParentType
{
    // MyNode is contained in a non-partial type so the source generators
    // can't enhance this type to work with Redot.
    public partial class MyNode : Node { }
}

public partial class ValidParentType
{
    // MyNode is contained in a partial type so the source generators
    // can enhance this type to work with Redot.
    public partial class MyNode : Node { }
}

How to fix violations

To fix a violation of this rule, add the partial keyword to the type declaration.

When to suppress warnings

Do not suppress a warning from this rule. Types that derive from RedotObject but aren't partial can't be enhanced by the source generators, resulting in unexpected runtime errors.

Connection interrupted. Reload×

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.