Outdated documentation

This documentation page refers to Godot 4.3, and may be outdated or incorrect.
Additionally, this engine version is no longer supported.

Check this page in the stable branch for the latest additions and corrections.

GD0001: Missing partial modifier on declaration of type that derives from GodotObject

Rule ID

GD0001

Category

Usage

Fix is breaking or non-breaking

Non-breaking

Enabled by default

Yes

Cause

A type that derives from GodotObject is not declared partial.

Rule description

Godot 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.

// The source generators can't enhance this type to work with Godot.
public class InvalidNode : Node { }

// The source generators can enhance this type to work with Godot.
public partial class ValidNode { }

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.


User-contributed notes

Please read the User-contributed notes policy before submitting a comment.