Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ Example entry:
documentation:
text: Indicates that this property is visible in all property windows, but cannot be edited. This Specifier is incompatible with the "Edit" Specifiers.
source: https://dev.epicgames.com/documentation/en-us/unreal-engine/property-specifiers
images: [ /assets/unreal/uproperty/visibility-defaults-selected.png, /assets/unreal/uproperty/visibility-instance-selected.jpg ]
images: [ /assets/data/UE-Specifier-Docs/images/uproperty/visibility-defaults-selected.png, /assets/data/UE-Specifier-Docs/images/uproperty/visibility-instance-selected.jpg ]
```

## Format Description
Expand Down
2 changes: 1 addition & 1 deletion yaml/uclass.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ specifiers:
{
GENERATED_BODY()
};
images: [ /uclass/classgroup.jpg ]
images: [ /assets/data/UE-Specifier-Docs/images/uclass/classgroup.jpg ]
documentation:
text: Indicates that Unreal Editor's Actor Browser should include this class and any subclass of this class within the specified GroupName when Group View is enabled in the Actor Browser.
source: https://dev.epicgames.com/documentation/en-us/unreal-engine/class-specifiers
Expand Down
51 changes: 41 additions & 10 deletions yaml/ufunction.yml
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ specifiers:
default functions marked `const` will be exposed as pure functions. To make a const function not a pure function, use `BlueprintPure=false`.

Pure functions do not cache their results, so be careful when doing any non-trivial amount of work a blueprint pure function. It is good practice to avoid outputting array properties in blueprint pure functions.
images: [ /ufunction/blueprintpure.jpg ]
images: [ /assets/data/UE-Specifier-Docs/images/ufunction/blueprintpure.jpg ]
samples:
- |
UFUNCTION(BlueprintPure)
Expand Down Expand Up @@ -118,7 +118,7 @@ specifiers:

UFUNCTION(BlueprintCallable, meta=(AutoCreateRefTerm="Color"))
void SomeColorWithRef(const FLinearColor& Color) {}
images: [ /ufunction/autocreaterefterm.jpg ]
images: [ /assets/data/UE-Specifier-Docs/images/ufunction/autocreaterefterm.jpg ]
documentation:
text: The listed parameters, although passed by reference, will have an automatically created default if their pins are left disconnected. This is a convenience feature for Blueprints, often used on array pins.
source: https://dev.epicgames.com/documentation/en-us/unreal-engine/ufunctions-in-unreal-engine#functionspecifiers
Expand All @@ -141,7 +141,7 @@ specifiers:
documentation:
text: Used only by static BlueprintPure functions from a Blueprint function library. A cast node will be automatically added for the return type and the type of the first parameter of the function.
source: https://dev.epicgames.com/documentation/en-us/unreal-engine/ufunctions-in-unreal-engine#functionspecifiers
images: [ /ufunction/blueprintautocast.png, /ufunction/blueprintautocast-drag.png ]
images: [ /assets/data/UE-Specifier-Docs/images/ufunction/blueprintautocast.png, /assets/data/UE-Specifier-Docs/images/ufunction/blueprintautocast-drag.png ]

- name: BlueprintInternalUseOnly
group: Blueprint Logic
Expand Down Expand Up @@ -267,7 +267,7 @@ specifiers:
documentation:
text: This function can be called in the editor on selected instances via a button in the Details panel.
source: https://dev.epicgames.com/documentation/en-us/unreal-engine/ufunctions-in-unreal-engine#functionspecifiers
images: [ /ufunction/callineditor.jpg ]
images: [ /assets/data/UE-Specifier-Docs/images/ufunction/callineditor.jpg ]


###############################################################################
Expand Down Expand Up @@ -331,12 +331,35 @@ specifiers:
###############################################################################
# Appearance

- name: Category
group: Appearance
type: string
utility: 3
position: main
comment: |
Using `Category`, it's possible to group Blueprint-exposed functions together into expandable folders in the Blueprint context menu and My Blueprint panel. The pipe character `|` can be used to create sub-folders. For example `Category="Character Info|Health"` would create two folders\: `Character Info`, and within that, `Health`.

This only affects how the function is organized when searching or browsing in the Blueprint editor; it has no effect on functions that aren't exposed to Blueprints via `BlueprintCallable`, `BlueprintPure`, `BlueprintImplementableEvent`, or `BlueprintNativeEvent`.

Note that whitespace is important; if there are two functions, one marked with `Category="Parent|Child"` and one with `Category="Parent | Child"`, it will result in two folders being displayed.
documentation:
text: Specifies the category of the function when displayed in the Blueprint editor. Define nested categories using the \| operator.
source: https://dev.epicgames.com/documentation/en-us/unreal-engine/ufunctions-in-unreal-engine#functionspecifiers
samples:
- |
UFUNCTION(BlueprintCallable, Category="Animals")
void MakeSound();

- |
UFUNCTION(BlueprintCallable, Category="Animals|Dogs")
void Bark();

- name: CompactNodeTitle
group: Appearance
type: string
utility: 2
position: meta
images: [ /ufunction/compactnodetitle.jpg ]
images: [ /assets/data/UE-Specifier-Docs/images/ufunction/compactnodetitle.jpg ]
samples:
- |
UFUNCTION(BlueprintPure)
Expand Down Expand Up @@ -400,7 +423,7 @@ specifiers:

UFUNCTION(BlueprintCallable, meta=(ExpandEnumAsExecs="Animal"))
static void SwitchAnimalByName(FString Name, EAnimalType& Animal);
images: [ /ufunction/expandenumsasexecs.jpg ]
images: [ /assets/data/UE-Specifier-Docs/images/ufunction/expandenumsasexecs.jpg ]
documentation:
text: For BlueprintCallable functions, this indicates that one input execution pin should be created for each entry in the enum used by the parameter. The parameter must be of an enumerated type that has the UENUM tag.
source: https://dev.epicgames.com/documentation/en-us/unreal-engine/ufunctions-in-unreal-engine#functionspecifiers
Expand Down Expand Up @@ -488,6 +511,14 @@ specifiers:
documentation:
text: Only valid in Blueprint function libraries. This function will be treated as an exception to the owning Class's general BlueprintThreadSafe metadata.
source: https://dev.epicgames.com/documentation/en-us/unreal-engine/ufunctions-in-unreal-engine#functionspecifiers
- name: ScriptName
group: General
type: string
position: meta
comment: Also used on `UCLASS()`, `UPROPERTY()`, and `UENUM()`.
documentation:
text: The name to use for this function when exporting it to a scripting language. May include deprecated names as additional semi-colon separated entries.
source: "https://github.com/EpicGames/UnrealEngine/blob/release/Engine/Source/Runtime/CoreUObject/Public/UObject/ObjectMacros.h"
- name: ShortToolTip
group: Appearance
type: string
Expand Down Expand Up @@ -668,9 +699,9 @@ specifiers:
UFUNCTION(BlueprintCallable, meta=(RectColor="(R=0,G=1,B=0,A=1)"))
void DefaultStructValue(FLinearColor RectColor);
images:
- /ufunction/parametername.jpg
- /ufunction/defaulttsubclassofvalue.jpg
- /ufunction/defaultstructvalue.jpg
- /assets/data/UE-Specifier-Docs/images/ufunction/parametername.jpg
- /assets/data/UE-Specifier-Docs/images/ufunction/defaulttsubclassofvalue.jpg
- /assets/data/UE-Specifier-Docs/images/ufunction/defaultstructvalue.jpg
- name: DataTablePin
position: meta
type: string
Expand All @@ -694,7 +725,7 @@ specifiers:
Using `SetParam` allows you to make "templated" Blueprint functions for Set containers that work for any datatype. It requires a `CustomThunk`-generated function definition for it to work. For an example check `BlueprintSetLibrary`.

In the Blueprint function declaration you write `int32` but with these metadata specifiers and CustomThunk you can make it work for any datatype.
images: [ /ufunction/setparam.png ]
images: [ /assets/data/UE-Specifier-Docs/images/ufunction/setparam.png ]
samples:
- |
// An arbitrary function that takes a set of any type and does something with it
Expand Down
22 changes: 21 additions & 1 deletion yaml/uinterface.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,14 +20,34 @@ specifiers:
text: All classes listed will be compiled before this class. ClassName must specify a class in the same (or a previous) package. Multiple dependency classes can be specified using a single `DependsOn` line delimited by commas, or can be specified using a separate `DependsOn` line for each class. This is important when a class uses a struct or enum declared in another class as the compiler only knows what is in the classes it has already compiled.
source: https://dev.epicgames.com/documentation/en-us/unreal-engine/interfaces-in-unreal-engine#interfacespecifiers

- name: MinimalApi
- name: MinimalAPI
group: Blueprint
type: flag
position: main
documentation:
text: Causes only the class's type information to be exported for use by other modules. The class can be cast to, but the functions of the class cannot be called (with the exception of inline methods). This improves compile times by not exporting everything for classes that do not need all of their functions accessible in other modules.
source: https://dev.epicgames.com/documentation/en-us/unreal-engine/interfaces-in-unreal-engine#interfacespecifiers

- name: Blueprintable
group: Blueprint
type: flag
utility: 3
position: main
antonyms: [ NotBlueprintable ]
documentation:
text: Exposes this interface as an acceptable base class for creating Blueprints. The default is NotBlueprintable, unless inherited otherwise. This Specifier is inherited by subclasses.
source: https://dev.epicgames.com/documentation/en-us/unreal-engine/interfaces-in-unreal-engine#interfacespecifiers

- name: NotBlueprintable
group: Blueprint
type: flag
utility: 1
position: main
antonyms: [ Blueprintable ]
documentation:
text: Specifies that this interface is not an acceptable base class for creating Blueprints. This is the default and is inherited by subclasses.
source: https://dev.epicgames.com/documentation/en-us/unreal-engine/interfaces-in-unreal-engine#interfacespecifiers

- name: Category
group: Blueprint
type: string
Expand Down
23 changes: 21 additions & 2 deletions yaml/uparam.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ specifiers:
* `FillDogInfo` takes an empty data structure that is provided to it, and fills it out. In Blueprints it is shown as an output pin.
* `UseAndFillDogInfo` takes a **reference** to a data structure as input. That means it can change the values within the data structure. If you do not need to change the values of the data structure, then see `UseDogInfo`.
* `UseDogInfo` takes a `const` reference data structure. It cannot change the values of the data.
images: [ /uparam/uparam-ref.jpg ]
images: [ /assets/data/UE-Specifier-Docs/images/uparam/uparam-ref.jpg ]
samples:
- |
// Fill an empty data structure
Expand Down Expand Up @@ -83,7 +83,7 @@ specifiers:
- |
UFUNCTION(unreliable, client, BlueprintCallable, Category="Game|Feedback")
void ClientSpawnGenericCameraLensEffect(UPARAM(meta=(MustImplement="CameraLensEffectInterface")) TSubclassOf<class AActor> LensEffectEmitterClass);
images: [/uparam/spawn-generic-camera-lens-effect.png]
images: [/assets/data/UE-Specifier-Docs/images/uparam/spawn-generic-camera-lens-effect.png]

- name: AllowedClasses
group: Pickers
Expand All @@ -101,3 +101,22 @@ specifiers:
position: meta
comment: |
Unknown, but it works the same as the UPROPERTY specifier of the same name.

- name: Bitmask
group: Pickers
type: flag
position: meta
related: [ BitmaskEnum ]
comment: |
This works the same as the UPROPERTY specifier of the same name. Shows a dropdown box containing all bitmask options for this function parameter. Clicking on them enables or disables that flag.
samples:
- |
UFUNCTION(BlueprintCallable)
static void SetFlags(UPARAM(meta = (Bitmask, BitmaskEnum = "EColorBits")) int32 NewFlags);

- name: BitmaskEnum
group: Pickers
type: string
position: meta
related: [ Bitmask ]
comment: See [Bitmask](#bitmask). This works the same as the UPROPERTY specifier of the same name.
Loading