Members vs Class Properties in inspector while debugging?

Godot Version



I have a class, named “CustomParallaxResource” that is instantiated and placed in an array of the parent class. When setting the values in the editor and accessing the values, everything seems normal, but when inspecting the values while debugging, I am seeing some values listed under the “Members” category and others listed under the class name category.

What’s even weirder is, some of these values are defaulted in the inspector, while others are the actual value set.

What is the difference between “Members” and what would cause these properties to be listed separately from my class in the inspector?

Image in the editor while assigning values:

Image in the editor, inspecting while debugging:

Class file:

extends Resource

class_name CustomParallaxResource
## The image to display in the background layer
@export var texture: CompressedTexture2D
@export_group("Texture Properties")
@export var sprite_scale: float = 1.0
## The texture should be flipped horizontally
@export var flip_h: bool = false
## The brightness of the texture (1 is the true color)
@export_range(0.0, 1.0) var brightness: float = 1.0

@export_group("Parallax Properties")
## The scale at which this layer will move, with respect to player movement
@export var motion_scale: float = 0.1
## The value used to multiply the sprite width to determine region rectangle width
@export var region_repeat_count: int = 5
## The maximum number of times we want this sprite to display on screen at any time
@export var max_display_count: float = 1.0
## The movement speed this layer will move when idle
@export var idle_movement_speed: int = 0

## The texture is animated
@export var is_animated: bool = false
## The number of horizontal frames in the animation
@export var h_frames: int = 1
## The wait time (in seconds) to play the next frame
@export_range(0.0, 5.0) var frame_update_time: float = 0.0