Note: This page is still a work in progress. There are a lot of meta specifiers still to document!
Unreal's UINTERFACE Specifiers page lists all of the core specifiers and many of the metadata specifiers, but it is not an exhaustive list.
This page attempts to be an exhaustive list of all the UINTERFACE
specifiers,
giving explanations, sample code, screenshots and related links for each.
If you know of any not listed here, or see any mistakes, feel free to contact me.
Special thanks to Erekose Craft, Ben Fox, Aquanox, ATankNoMore for finding meta properties, giving feedback and giving great examples of usage.
The YAML files used to generate this documentation are available on GitHub. Feel free to submit pull requests or submit any incorrect or missing information there.
General Points
- Tags are case insensitive, but I would recommend sticking to the case example here for readability.
- Quotation marks are optional if the values does not have spaces. e.g.
someBool=true
is treated the same assomeBool="true"
. Again, for readability I would recommend using quotation marks only around string-type properties.
Blueprint
UINTERFACE(
BlueprintType
)
Position:
Main
Type:
flag
Whether this is set or not does not affect if the interface can be implemented by a Blueprint class.
UINTERFACE(
DependsOn
="abc")
Position:
Main
Type:
string
Seems deprecated?
UINTERFACE(
MinimalApi
)
Position:
Main
Type:
flag
UINTERFACE(
Category
="abc")
Position:
Main
Type:
string
UINTERFACE(meta=(
CannotImplementInterfaceInBlueprint
))
Position:
Meta
Type:
flag
By default all UINTERFACE
s are implementable in Blueprints. This tag changes that behavior. You may want to set this on interfaces that are for low-level C++ classes only, to clean up the interface drop-down box in Blueprints.
UINTERFACE(meta=(
DisplayName
="abc"))
Position:
Meta
Type:
string
UINTERFACE(
Experimental
)
Position:
Main
Type:
flag