Skip to content

[BUG] SCRIPT ERROR: Parse Error: Could not resolve external class member "settings". #444

@ikostan

Description

@ikostan

Technical Summary:

The game fails to boot in the browser due to a GDScript compilation error in input_remap_button.gd at line 121. The compiler cannot resolve the member settings. This suggests a regression from PR #431 where the reference to the settings provider was either renamed, moved, or the Autoload was not properly updated to reflect the new Resource-based architecture.

Godot Version: (e.g., 4.5 stable)

OS: (e.g., Windows 10 64-bit)

Game Version: v0.9.3

Steps to Reproduce:

#1

  1. Start the game.
  2. Check browser console.

#2

  1. Start the game
  2. Open "Key Mapping Options"
  3. Select "Keyboard"
  4. Verify "menu next" and "menu prev" values

Expected Behavior:

  1. No console errors.
  2. "menu next": TAB and "menu prev": SHIFT+TAB

Actual Behavior:

  1. SCRIPT ERROR: Parse Error: Could not resolve external class member "settings".
    at: GDScript::reload (res://scripts/input_remap_button.gd:121)
  2. Unbound values for "menu next" and "menu prev"

Screenshots (if "menu next" and "menu prev" applicable):

Screen #1:
Image
Screen #2:
Image

Additional Context:

What happened:

In input_remap_button.gd at line 121, you are trying to access a property or variable named settings on another object/class, and Godot can't find it. Because input_remap_button.gd failed to compile, it triggered a chain reaction:

  • key_mapping.gd failed to compile (because it depends on the button script).
  • The ResourceLoader failed to instantiate classes (the Cannot get class '' error).

How to fix:

  • Open res://scripts/input_remap_button.gd.
  • Go to line 121.
  • Check how you are referencing settings.
    • If settings is supposed to be a Singleton (Autoload), ensure it is still named "settings" in your Project Settings -> Autoload tab.
      *If you are accessing it via a variable (e.g., some_object.settings), ensure that some_object is properly typed and that the settings member actually exists in that class.

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Projects

Status

Done

Relationships

None yet

Development

No branches or pull requests

Issue actions