<?xml version="1.0" encoding="UTF-8" ?>
<class name="EditorFeatureProfile" inherits="Reference" version="3.2">
	<brief_description>
		An editor feature profile which can be used to disable specific features.
	</brief_description>
	<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 [b]Editor &gt; Manage Feature Profiles...[/b] at the top of the editor window.
	</description>
	<tutorials>
	</tutorials>
	<methods>
		<method name="get_feature_name">
			<return type="String">
			</return>
			<argument index="0" name="feature" type="int" enum="EditorFeatureProfile.Feature">
			</argument>
			<description>
				Returns the specified [code]feature[/code]'s human-readable name.
			</description>
		</method>
		<method name="is_class_disabled" qualifiers="const">
			<return type="bool">
			</return>
			<argument index="0" name="class_name" type="String">
			</argument>
			<description>
				Returns [code]true[/code] if the class specified by [code]class_name[/code] is disabled. When disabled, the class won't appear in the Create New Node dialog.
			</description>
		</method>
		<method name="is_class_editor_disabled" qualifiers="const">
			<return type="bool">
			</return>
			<argument index="0" name="class_name" type="String">
			</argument>
			<description>
				Returns [code]true[/code] if editing for the class specified by [code]class_name[/code] 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.
			</description>
		</method>
		<method name="is_class_property_disabled" qualifiers="const">
			<return type="bool">
			</return>
			<argument index="0" name="class_name" type="String">
			</argument>
			<argument index="1" name="property" type="String">
			</argument>
			<description>
				Returns [code]true[/code] if [code]property[/code] is disabled in the class specified by [code]class_name[/code]. When a property is disabled, it won't appear in the inspector when selecting a node that extends the class specified by [code]class_name[/code].
			</description>
		</method>
		<method name="is_feature_disabled" qualifiers="const">
			<return type="bool">
			</return>
			<argument index="0" name="feature" type="int" enum="EditorFeatureProfile.Feature">
			</argument>
			<description>
				Returns [code]true[/code] if the [code]feature[/code] is disabled. When a feature is disabled, it will disappear from the editor entirely.
			</description>
		</method>
		<method name="load_from_file">
			<return type="int" enum="Error">
			</return>
			<argument index="0" name="path" type="String">
			</argument>
			<description>
				Loads an editor feature profile from a file. The file must follow the JSON format obtained by using the feature profile manager's [b]Export[/b] button or the [method save_to_file] method.
			</description>
		</method>
		<method name="save_to_file">
			<return type="int" enum="Error">
			</return>
			<argument index="0" name="path" type="String">
			</argument>
			<description>
				Saves the editor feature profile to a file in JSON format. It can then be imported using the feature profile manager's [b]Import[/b] button or the [method load_from_file] button.
			</description>
		</method>
		<method name="set_disable_class">
			<return type="void">
			</return>
			<argument index="0" name="class_name" type="String">
			</argument>
			<argument index="1" name="disable" type="bool">
			</argument>
			<description>
				If [code]disable[/code] is [code]true[/code], disables the class specified by [code]class_name[/code]. When disabled, the class won't appear in the Create New Node dialog.
			</description>
		</method>
		<method name="set_disable_class_editor">
			<return type="void">
			</return>
			<argument index="0" name="class_name" type="String">
			</argument>
			<argument index="1" name="disable" type="bool">
			</argument>
			<description>
				If [code]disable[/code] is [code]true[/code], disables editing for the class specified by [code]class_name[/code]. 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.
			</description>
		</method>
		<method name="set_disable_class_property">
			<return type="void">
			</return>
			<argument index="0" name="class_name" type="String">
			</argument>
			<argument index="1" name="property" type="String">
			</argument>
			<argument index="2" name="disable" type="bool">
			</argument>
			<description>
				If [code]disable[/code] is [code]true[/code], disables editing for [code]property[/code] in the class specified by [code]class_name[/code]. When a property is disabled, it won't appear in the inspector when selecting a node that extends the class specified by [code]class_name[/code].
			</description>
		</method>
		<method name="set_disable_feature">
			<return type="void">
			</return>
			<argument index="0" name="feature" type="int" enum="EditorFeatureProfile.Feature">
			</argument>
			<argument index="1" name="disable" type="bool">
			</argument>
			<description>
				If [code]disable[/code] is [code]true[/code], disables the editor feature specified in [code]feature[/code]. When a feature is disabled, it will disappear from the editor entirely.
			</description>
		</method>
	</methods>
	<constants>
		<constant name="FEATURE_3D" value="0" enum="Feature">
			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.
		</constant>
		<constant name="FEATURE_SCRIPT" value="1" enum="Feature">
			The Script tab, which contains the script editor and class reference browser. If this feature is disabled, the Script tab won't display.
		</constant>
		<constant name="FEATURE_ASSET_LIB" value="2" enum="Feature">
			The AssetLib tab. If this feature is disabled, the AssetLib tab won't display.
		</constant>
		<constant name="FEATURE_SCENE_TREE" value="3" enum="Feature">
			Scene tree editing. If this feature is disabled, the Scene tree dock will still be visible but will be read-only.
		</constant>
		<constant name="FEATURE_NODE_DOCK" value="4" enum="Feature">
			The Node dock. If this feature is disabled, signals and groups won't be visible and modifiable from the editor.
		</constant>
		<constant name="FEATURE_FILESYSTEM_DOCK" value="5" enum="Feature">
			The FileSystem dock. If this feature is disabled, the FileSystem dock won't be visible.
		</constant>
		<constant name="FEATURE_IMPORT_DOCK" value="6" enum="Feature">
			The Import dock. If this feature is disabled, the Import dock won't be visible.
		</constant>
		<constant name="FEATURE_MAX" value="7" enum="Feature">
			Represents the size of the [enum Feature] enum.
		</constant>
	</constants>
</class>
