Skip to content

Can't inherit abstract class using inheritance tree selector when creating new script #108242

Open
@larspet

Description

@larspet

Tested versions

  • Reproducible in: master [efb40c1]
  • Reproducible in: 4.4.dev1
  • Half-reproducible in: 4.3.dev1 (inherit button is not greyed out, but does nothing)

System information

Godot v4.5.beta (efb40c1) - Windows 11 (build 26100)

Issue description

It's not possible to select the class you want to inherit/extend when using the inheritance tree selector in the Create Script dialog, if the class is abstract. When manually inputting the class name in the text field it does work however.

The inherit button's tooltip also wrongly states: "The selected class can't be instantiated", which is irrelevant in the context of inheriting it.

As a side issue, even though the abstract classes are visible (but greyed out), they get filtered away when specifically searching for them. I guess that somewhat makes sense with how it currently works though.

Image

#71834 is similar, but there the problem is with built-in non-instantiable classes, that seem to be straight up impossible to inherit in C#? But in this case, the only reason you would make your own abstract class is to inherit it.

Steps to reproduce

  1. (Optional) Create a custom abstract class.
  2. Start creation of a new script (e.g. by right-clicking a folder in FileSystem).
  3. Click the Tree icon next to "Inherits:"
  4. Attempt to inherit an abstract class (either your own, or a built-in one).

Minimal reproduction project (MRP)

n/a

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    Unassessed

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions