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.

GD0104: The exported property is write-only

Rule ID

GD0104

Category

Usage

Fix is breaking or non-breaking

Non-breaking

Enabled by default

Yes

Cause

A write-only property is annotated with the [Export] attribute. Write-only properties can't be exported.

Rule description

Godot doesn't allow exporting write-only properties.

private int _backingField;

// Write-only properties can't be exported.
[Export]
public int InvalidProperty { set => _backingField = value; }

// This property can be exported because it has both a getter and a setter.
[Export]
public int ValidProperty { get; set; }

How to fix violations

To fix a violation of this rule, make sure the property declares both a getter and a setter, or remove the [Export] attribute.

When to suppress warnings

Do not suppress a warning from this rule. Write-only members can't be exported so they will be ignored by Godot, resulting in runtime errors.


User-contributed notes

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