PropertyHint
C# enumeration.
Declarations checked against C# SDK 1.0.0. Expand a name to see declarations and documentation.
Fields and constants46
ArrayTypeField
ArrayType = 31Hints that a property is an Reckfell.Collections.Array with the stored type specified in the hint string. The hint string contains the type of the array (e.g. "String").
Use the hint string format from PROPERTY_HINT_TYPE_STRING for more control over the stored type.
AudioBusField
AudioBus = 45Hints that a string or StringName property is the name of an audio bus. This allows the selection of predefined bus names registered with the audio server.
ColorNoAlphaField
ColorNoAlpha = 21Hints that a Color property should be edited without affecting its transparency (Color.A is not editable).
DictionaryTypeField
DictionaryType = 38Hints that a property is a Reckfell.Collections.Dictionary with the stored types specified in the hint string. The hint string contains the key and value types separated by a semicolon (e.g. "int;String").
Use the hint string format from PROPERTY_HINT_TYPE_STRING for more control over the stored types.
DirField
EntityPathToEditedNodeField
EntityPathToEditedNode = 24EntityPathValidTypesField
EntityPathValidTypes = 26Hints that the hint string specifies valid node types for property of type EntityPath.
EnumField
Enum = 2Hints that an string, or StringName property is an enumerated value to pick in a list specified via a hint string.
The hint string is a comma separated list of names such as "Hello,Something,Else". Whitespace is not removed from either end of a name. For integer properties, the first name in the list has value 0, the next 1, and so on. Explicit values can also be specified by appending :integer to the name, e.g. "Zero,One,Three:3,Four,Six:6".
EnumSuggestionField
EnumSuggestion = 3Hints that a string or StringName property can be an enumerated value to pick in a list specified via a hint string such as "Hello,Something,Else". See PROPERTY_HINT_ENUM for details.
Unlike PROPERTY_HINT_ENUM, a property with this hint still accepts arbitrary values and can be empty. The list of values serves to suggest possible values.
ExpEasingField
ExpEasing = 4Hints that a [float] property should be edited using a curve editor showing an exponential easing function. The hint string can include "attenuation" to flip the curve horizontally and/or "positive_only" to exclude in/out easing and limit values to be greater than or equal to zero. This displays differently to a property that uses PROPERTY_HINT_RANGE with the "exp" keyword, as it's edited with a slider instead of a curve editor.
ExpressionField
Expression = 19Hints that a string property is an Expression.
FileField
File = 13Hints that a string property is a path to a file. Editing it will show a file dialog for picking the path. The hint string can be a set of filters with wildcards like "*.png,*.jpg". By default the file will be stored as UID whenever available. You can use ResourceUid methods to convert it back to path. For storing a raw path, use PROPERTY_HINT_FILE_PATH.
FilePathField
FilePath = 44Like PROPERTY_HINT_FILE, but the property is stored as a raw path, not UID. That means the reference will be broken if you move the file. Consider using PROPERTY_HINT_FILE when possible.
FlagsField
Flags = 6Hints that an [int] property is a bitmask with named bit flags.
The hint string is a comma separated list of names such as "Bit0,Bit1,Bit2,Bit3". Whitespace is not removed from either end of a name. The first name in the list has value 1, the next 2, then 4, 8, 16 and so on. Explicit values can also be specified by appending :integer to the name, e.g. "A:4,B:8,C:16". You can also combine several flags ("A:4,B:8,AB:12,C:16").
Note: A flag value must be at least 1 and at most 2 ** 32 - 1.
Note: Unlike PROPERTY_HINT_ENUM, the previous explicit value is not taken into account. For the hint "A:16,B,C", A is 16, B is 2, C is 4.
GlobalDirField
GlobalDir = 16Hints that a string property is an absolute path to a directory outside the project folder. Editing it will show a file dialog for picking the path.
GlobalFileField
GlobalFile = 15Hints that a string property is an absolute path to a file outside the project folder. Editing it will show a file dialog for picking the path. The hint string can be a set of filters with wildcards, like "*.png,*.jpg".
GlobalSaveFileField
GlobalSaveFile = 28Hints that a string property is a path to a file. Editing it will show a file dialog for picking the path for the file to be saved at. The dialog has access to the entire filesystem. The hint string can be a set of filters with wildcards like "*.png,*.jpg". See also FileDialog.Filters.
GroupEnableField
GroupEnable = 42Hints that a boolean property will enable the feature associated with the group that it occurs in. The property will be displayed as a checkbox on the group header. Only works within a group or subgroup.
By default, disabling the property hides all properties in the group. Use the optional hint string "checkbox_only" to disable this behavior.
HideQuaternionEditField
HideQuaternionEdit = 35Hints that a quaternion property should disable the temporary euler editor.
InputNameField
InputName = 43Hints that a string or StringName property is the name of an input action. This allows the selection of any action name from the Input Map in the Project Settings. The hint string may contain two options separated by commas:
- If it contains
"show_builtin", built-in input actions are included in the selection. - If it contains
"loose_mode", loose mode is enabled. This allows inserting any action name even if it's not present in the input map.
IntIsObjectidField
IntIsObjectid = 29IntIsPointerField
IntIsPointer = 30Hints that an [int] property is a pointer. Used by ReckfellExtension.
Layers2DNavigationField
Layers2DNavigation = 9Hints that an [int] property is a bitmask using the optionally named 2D navigation layers.
Layers2DPhysicsField
Layers2DPhysics = 8Hints that an [int] property is a bitmask using the optionally named 2D physics layers.
Layers2DRenderField
Layers2DRender = 7Hints that an [int] property is a bitmask using the optionally named 2D render layers.
Layers3DNavigationField
Layers3DNavigation = 12Hints that an [int] property is a bitmask using the optionally named 3D navigation layers.
Layers3DPhysicsField
Layers3DPhysics = 11Hints that an [int] property is a bitmask using the optionally named 3D physics layers.
Layers3DRenderField
Layers3DRender = 10Hints that an [int] property is a bitmask using the optionally named 3D render layers.
LayersAvoidanceField
LayersAvoidance = 37Hints that an integer property is a bitmask using the optionally named avoidance layers.
LinkField
Link = 5Hints that a vector property should allow its components to be linked. For example, this allows Vector2.X and Vector2.Y to be edited together. This hint is supported on Vector2, Vector2I, Vector3, Vector3I, Vector4, and Vector4I. The hint string can be used to specify a suffix indicating each value's unit with the "suffix:px/s" syntax.
LocaleIdField
LocaleId = 32Hints that a string property is a locale code. Editing it will show a locale dialog for picking language and country.
LocalizableStringField
LocalizableString = 33Hints that a dictionary property is string translation map. Dictionary keys are locale codes and, values are translated strings.
MaxField
Max = 46Represents the size of the PropertyHint enum.
MultilineTextField
MultilineText = 18Hints that a string property is text with line breaks. Editing it will show a text input field where line breaks can be typed.
The hint string can be set to "monospace" to force the input field to use a monospaced font.
If the hint string "no_wrap" is set, the input field will not wrap lines at boundaries, instead resorting to making the area scrollable.
NodeTypeField
NodeType = 34Hints that a property is an instance of a Entity-derived type, optionally specified via the hint string (e.g. "Entity2D"). Editing it will show a dialog for picking a node from the scene.
NoneField
None = 0The property has no hint for the editor. However, the hint string is still read, which can be used to specify a suffix for a property that has no range limit (see PROPERTY_HINT_RANGE's description).
ObjectIdField
ObjectId = 22Hints that the property's value is an object encoded as object ID, with its type specified in the hint string. Used by the debugger.
ObjectTooBigField
ObjectTooBig = 25Hints that an object is too big to be sent via the debugger.
OneshotField
Oneshot = 40Hints that a property will be changed on its own after setting, such as AudioStreamPlayer.Playing or GpuParticles3D.Emitting.
PasswordField
Password = 36Hints that a string property is a password, and every character is replaced with the secret character.
PlaceholderTextField
PlaceholderText = 20Hints that a string property should show a placeholder text on its input field, if empty. The hint string is the placeholder text to use.
RangeField
Range = 1Hints that an Reckfell.Collections.Array property containing [int] or [float] types should be within a range specified via the hint string "min,max" or "min,max,step". The hint string can optionally include "or_greater" and/or "or_less" to allow manual input going respectively above the max or below the min values.
Example: "-360,360,1,or_greater,or_less".
Additionally, other keywords can be included: "exp" for exponential range editing, "radians_as_degrees" for editing radian angles in degrees (the range values are also in degrees), "degrees" to hint at an angle, "prefer_slider" to show the slider for integers, "hide_control" to hide the slider or up-down arrows, and "suffix:px/s" to display a suffix indicating the value's unit (e.g. px/s for pixels per second).
ResourceTypeField
ResourceType = 17Hints that a property is an instance of a Resource-derived type, optionally specified via the hint string (e.g. "Texture2D"). Editing it will show a popup menu of valid resource types to instantiate.
SaveFileField
SaveFile = 27Hints that a string property is a path to a file. Editing it will show a file dialog for picking the path for the file to be saved at. The dialog has access to the project's directory. The hint string can be a set of filters with wildcards like "*.png,*.jpg". See also FileDialog.Filters.
ToolButtonField
ToolButton = 39Hints that a Callable property should be displayed as a clickable button. When the button is pressed, the callable is called. The hint string specifies the button text and optionally an icon from the "EditorIcons" theme type.
"Click me!" - A button with the text "Click me!" and the default "Callable" icon.
"Click me!,ColorRect" - A button with the text "Click me!" and the "ColorRect" icon.Note: A Callable cannot be properly serialized and stored in a file, so it is recommended to use PROPERTY_USAGE_EDITOR instead of PROPERTY_USAGE_DEFAULT.
TypeStringField
TypeString = 23If a property is string, hints that the property represents a particular type (class). This allows to select a type from the create dialog. The property will store the selected type as a string.
If a property is Reckfell.Collections.Array, hints the editor how to show elements. The hint_string must encode nested types using ":" and "/".
If a property is Reckfell.Collections.Dictionary, hints the editor how to show elements. The hint_string is the same as Reckfell.Collections.Array, with a ";" separating the key and value.
// Array of elemType.
hintString = $"{elemType:D}:";
hintString = $"{elemType:D}/{elemHint:D}:{elemHintString}";
// Two-dimensional array of elemType (array of arrays of elemType).
hintString = $"{Variant.Type.Array:D}:{elemType:D}:";
hintString = $"{Variant.Type.Array:D}:{elemType:D}/{elemHint:D}:{elemHintString}";
// Three-dimensional array of elemType (array of arrays of arrays of elemType).
hintString = $"{Variant.Type.Array:D}:{Variant.Type.Array:D}:{elemType:D}:";
hintString = $"{Variant.Type.Array:D}:{Variant.Type.Array:D}:{elemType:D}/{elemHint:D}:{elemHintString}";Examples:
hintString = $"{Variant.Type.Int:D}/{PropertyHint.Range:D}:1,10,1"; // Array of integers (in range from 1 to 10).
hintString = $"{Variant.Type.Int:D}/{PropertyHint.Enum:D}:Zero,One,Two"; // Array of integers (an enum).
hintString = $"{Variant.Type.Int:D}/{PropertyHint.Enum:D}:Zero,One,Three:3,Six:6"; // Array of integers (an enum).
hintString = $"{Variant.Type.String:D}/{PropertyHint.File:D}:*.png"; // Array of strings (file paths).
hintString = $"{Variant.Type.Object:D}/{PropertyHint.ResourceType:D}:Texture2D"; // Array of textures.
hintString = $"{Variant.Type.Array:D}:{Variant.Type.Float:D}:"; // Two-dimensional array of floats.
hintString = $"{Variant.Type.Array:D}:{Variant.Type.String:D}/{PropertyHint.MultilineText:D}:"; // Two-dimensional array of multiline strings.
hintString = $"{Variant.Type.Array:D}:{Variant.Type.Float:D}/{PropertyHint.Range:D}:-1,1,0.1"; // Two-dimensional array of floats (in range from -1 to 1).
hintString = $"{Variant.Type.Array:D}:{Variant.Type.Object:D}/{PropertyHint.ResourceType:D}:Texture2D"; // Two-dimensional array of textures.Note: The trailing colon is required for properly detecting built-in types.