EditorFeatureProfile

Inherits: Reference < Object

An editor feature profile which can be used to disable specific features.

Description

An editor feature profile can be used to disable specific features of the Godot editor. When disabled, the features won't appear in the editor, which makes the editor less cluttered. This is useful in education settings to reduce confusion or when working in a team. For example, artists and level designers could use a feature profile that disables the script editor to avoid accidentally making changes to files they aren't supposed to edit.

To manage editor feature profiles visually, use Editor > Manage Feature Profiles... at the top of the editor window.

Methods

String

get_feature_name ( Feature feature )

bool

is_class_disabled ( String class_name ) const

bool

is_class_editor_disabled ( String class_name ) const

bool

is_class_property_disabled ( String class_name, String property ) const

bool

is_feature_disabled ( Feature feature ) const

Error

load_from_file ( String path )

Error

save_to_file ( String path )

void

set_disable_class ( String class_name, bool disable )

void

set_disable_class_editor ( String class_name, bool disable )

void

set_disable_class_property ( String class_name, String property, bool disable )

void

set_disable_feature ( Feature feature, bool disable )


Enumerations

enum Feature:

Feature FEATURE_3D = 0

The 3D editor. If this feature is disabled, the 3D editor won't display but 3D nodes will still display in the Create New Node dialog.

Feature FEATURE_SCRIPT = 1

The Script tab, which contains the script editor and class reference browser. If this feature is disabled, the Script tab won't display.

Feature FEATURE_ASSET_LIB = 2

The AssetLib tab. If this feature is disabled, the AssetLib tab won't display.

Feature FEATURE_SCENE_TREE = 3

Scene tree editing. If this feature is disabled, the Scene tree dock will still be visible but will be read-only.

Feature FEATURE_NODE_DOCK = 4

The Node dock. If this feature is disabled, signals and groups won't be visible and modifiable from the editor.

Feature FEATURE_FILESYSTEM_DOCK = 5

The FileSystem dock. If this feature is disabled, the FileSystem dock won't be visible.

Feature FEATURE_IMPORT_DOCK = 6

The Import dock. If this feature is disabled, the Import dock won't be visible.

Feature FEATURE_MAX = 7

Represents the size of the Feature enum.


Method Descriptions

String get_feature_name ( Feature feature )

Returns the specified feature's human-readable name.


bool is_class_disabled ( String class_name ) const

Returns true if the class specified by class_name is disabled. When disabled, the class won't appear in the Create New Node dialog.


bool is_class_editor_disabled ( String class_name ) const

Returns true if editing for the class specified by class_name is disabled. When disabled, the class will still appear in the Create New Node dialog but the inspector will be read-only when selecting a node that extends the class.


bool is_class_property_disabled ( String class_name, String property ) const

Returns true if property is disabled in the class specified by class_name. When a property is disabled, it won't appear in the inspector when selecting a node that extends the class specified by class_name.


bool is_feature_disabled ( Feature feature ) const

Returns true if the feature is disabled. When a feature is disabled, it will disappear from the editor entirely.


Error load_from_file ( String path )

Loads an editor feature profile from a file. The file must follow the JSON format obtained by using the feature profile manager's Export button or the save_to_file method.


Error save_to_file ( String path )

Saves the editor feature profile to a file in JSON format. It can then be imported using the feature profile manager's Import button or the load_from_file method.


void set_disable_class ( String class_name, bool disable )

If disable is true, disables the class specified by class_name. When disabled, the class won't appear in the Create New Node dialog.


void set_disable_class_editor ( String class_name, bool disable )

If disable is true, disables editing for the class specified by class_name. When disabled, the class will still appear in the Create New Node dialog but the inspector will be read-only when selecting a node that extends the class.


void set_disable_class_property ( String class_name, String property, bool disable )

If disable is true, disables editing for property in the class specified by class_name. When a property is disabled, it won't appear in the inspector when selecting a node that extends the class specified by class_name.


void set_disable_feature ( Feature feature, bool disable )

If disable is true, disables the editor feature specified in feature. When a feature is disabled, it will disappear from the editor entirely.