Up to date
        This page is up to date for Redot 4.3.
        If you still find outdated information, please create an issue.
      
GD0002: Missing partial modifier on declaration of type which contains nested classes that derive from RedotObject¶
Rule ID  | 
GD0002  | 
Category  | 
Usage  | 
Fix is breaking or non-breaking  | 
Non-breaking  | 
Enabled by default  | 
Yes  | 
Cause¶
A type that derives from GodotObject 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 GodotObject
but aren't partial can't be enhanced by the source generators, resulting in
unexpected runtime errors.