Skip to main content

Types and Properties Meta

When writing C++ classes, filling in the appropriate types and properties Meta according to the specification controls whether the properties can be edited in the Editor, how they interact with the Property Editor and with the serialization mechanism (whether they are saved, whether to skip serialization, etc.).

    DECLARE_PROPERTY (bool, LModelComponent, IfOverrideTexPaths, 
GetIfOverrideTexPaths, SetIfOverrideTexPaths, EditAnywhere,
EditorType = CheckBox, Category = Render);

DECLARE_PROPERTY(const char*, LModelComponent, OverrideTexPaths,
GetOverrideTexPaths, SetOverrideTexPaths, EditAnywhere,
EditorType = FileControl, Category = Render, FileFilter = Directory
EditCondition = IfOverrideTexPaths);

Properties

MetakeyMetaValueDefinitionNote
EditAnywhereRead-Write in EditorIf these two Metakeys are not set, the default Editor will not see this property
VisibleAnywhereRead only in Editor (Read control to be implemented), or the Object property is revisable, Container Object indicates that Container itself is non-revisable
CategoryArbitrary English CharacterProperty typesUse|to split parent-child classification, space is not allowed in the split and names after spliting
EditorTypeCheckBoxBox controlIf the Metakey is not set, it will be automatically matched according to the property type
boolean = CheckBox
string = Edit
float, double = FloatEdit
enum = ComboBox
array = ArrayPod
EditText control
FloatEditFloating value Control
DegreesEditEdit radians in Angle mode, the Editor displays the Angle, the actual property of the object is radians
AssetEditAsset control (File control + preview)
FileControlFile control
ColorEditColor control
TextureEditMapping control
ComboBoxDrop-down box control
CustomPropertyCustom control, usually utilized with "CustomType"
CustomTypeSpecific custom control types
FilePathWhen EditorType=AssetEdit or FileControl, it determines the value and sets the root path of the selection windowSuch as "Project" "Computer" "Rseource"
FileFilterWhen EditorType=AssetEdit or FileControl, it determines the value and matches the script enumeration file typeSee public_property FILE_FILTER table
ValueListWhen EditorType=ComboBox, the value will be obtained,which could be arbitrary number or English character, reserve |Represent each item in the drop-down menuuse | to split values
ValueListMethodWhen EditorType=ComboBox, the value will be obtained, which could be arbitrary number or English characterIf there is no ValueList, ValueListMethod will be found, get the drop-down menu item by calling the function defined by method
DecimalsDecimal precision, which can be any non-negative frame number
ClampMinMinimum value to set
ClampMaxMaximum value to set
EditorGroupEdit control groupArbitrary character
EditorGroupIndexEdit control group indexIndex start from 0
RelevantPropertyAssociated propertiesAfter setting this Meta, when this property is modified, it will automatically update the control associated with the property (rebuild the associated control).use| to split values
TextTranslation of propertiesSet the key of the translation to match the xxx.idres file in the Engine and display the property name in the Editor
GetNameArbitrary English CharacterProvide diversified naming method for object properties in containers (building property trees with the same name will override)
ReplicatedNameArbitrary English Character, | is the reserved characterCorresponding property name of the server
OnReplicatedArbitrary English Character, | is the reserved characterProperty value callback function
SubclassOfArbitrary English Character, | is the reserved characterLclass type of property value
SkipSerializationSkip serialization
TransientSkip saving
DuplicateTransientSkip duplication
NonPIEDuplicateTransientSkip non-PIE duplication
VisibleConditionDisplay conditionThis property will be displayed only when the value of the conditional property satisfies the expression
EditConditionEdit conditionThis property can be edited only when the value of the conditional property satisfies the expression
OrderInteger valueProperties are sorted by priority, prioritize property with higher value
KindOfActorString, which matches the name of a subtype of LActorList all KindoFactor-tagged actors in the level into a ComboBox for the user to choose fromProperty type must be PERSISTID
LoopProperty values loop between maximum and minimum values
HintTextString Property control prompts with text information
KindOfComponentString, format: KindOfComponent = "LVoxelTerrainActor.
LPlanetAtmosphereComponent"
Example: List the LPlanetAtmosphereComponent type components, which belong to the LVoxelTerrainActor under the Actor into a ComboBox, for users to select fromProperty type must be PERSISTID
ShowNameSpecify a custom name when displaying non-key names for elements currently used in the containerA property name of the element itself
Element_OneLineContainer element shows in single line
NetPropertyNetwork sync propertyThe property of the Actor will be synced by the network server when this Metakey is marked
NetPropertyAllNetwork sync all properties All the properties of the Actor will be synced by the network server when this Metakey is marked
NetPropertyConditionConditions for Network sync propertyNetwork sync conditions are classified into Private and Public modes, Public is the default condition and will be synced to all clients, while Private will only be synced to the client of the master control player
NetPropertyNotifyNotify of network sync propertyThe specified notify function will be triggered when the client property is synced
StorePropertyNetwork store propertyThe properties will be stored by the server when this Metakey is marked. Currently only for player object

Note: No space is allowed while using| to split strings

Entities

MetakeyMetaValueDefinitionNote
EditorVisibleVisible or not in the EditorIf the Metakey is not set, the entity is not visible to the Editor by default
CategoryArbitrary English Character, | is the reserved characterProperty type, using | to split sub-type (to be implemented)
OnlyShowSelfDisplay its own properties onlyDisplay its own properties only,not properties inherited from the parent
PrefabableAllow prefab base type or notIf the Metakey is not set, this type is not visible when the Editor is selecting base type to create prefab
DisableMarqueeSelectAllow marquee selection or notWith this Metakey, the Editor will ignore this type of Object for Marquee selection
HideProperty,HideCategoryStringTypes of properties that need to be hidden, category (Suggestion: For Engine developer to use, use hidden config file to implement during project development)
TranslationVisibleThe translation is visible or notThe Editor can edit the translation of this entity only when this Metakey is set
ServerClassServer classDeclared GameObject class, which corresponds the class on the serverUsed in non-component servers only