unreal🌱garden

@unreal-garden.com

Unreal Engine community site · New tips twice a day · https://unreal-garden.com/

Categories UPROPERTY(meta=(Categories="abc")) "This allows you to limit which gameplaytags are allowed to be chosen for a `FGameplayTag` property. Multiple tags can be specified with commas separating them. Can also be used on `UPARAM` to limit the Gameplay Tags allowed on a `UFUNCTION()` There

AllowAbstract UPROPERTY(meta=(AllowAbstract)) "By default class pickers do not include abstract classes in their list of options. This changes that behaviour to include them. Could be useful when being able to instantiate the specified class is not

AllowedClasses UPROPERTY(meta=(AllowedClasses="abc")) "Not sure how this is different to MetaClass. Note that the string must *not* contain prefixes, so "Actor" is correct, "AActor" is incorrect. This *does* work with

MetaClass UPROPERTY(meta=(MetaClass="abc")) "Some datatypes like `FSoftClassPath` and `FSoftObjectPath` are not templated and allow any class type. `MetaClass` lets users allow only certain classes. In comparison `TSoftClassPtr` and `TSoftObjectPtr` use template parameters instead of

BlueprintCompilerGeneratedDefaults UPROPERTY(meta=(BlueprintCompilerGeneratedDefaults)) Docs: Property defaults are generated by the Blueprint compiler and will not be copied when CopyPropertiesForUnrelatedObjects is called

RequiredAssetDataTags UPROPERTY(meta=(RequiredAssetDataTags="abc")) "Only shows data table assets with the specified row structure class. Note that previously the format was "RowStructure=ImageRow", but as of Unreal 5 you have to specify the full path to the class, as in

DataTableImportOptional UPROPERTY(meta=(DataTableImportOptional=true)) "When importing data to fill out a data table, by default all columns are required to exist in the CSV file. If an column does not exist in the CSV, an error is shown (see screenshot). By marking a property with

BindWidgetAnim UPROPERTY(meta=(BindWidgetAnim)) "Allows C++ code to call widget animations defined in a child User Widget Blueprint. The name of the animation must match the variable. See `UWidgetBlueprintGeneratedClass::BindAnimations` for more of the juicy

BindWidgetOptional UPROPERTY(meta=(BindWidgetOptional)) "When a `BindWidget`-specified widget is not found, an error is thrown on compilation. When a `BindWidgetOptional`-specified widget is not found, only an information-level log entry is displayed. Use it for widgets that your User Widget does

ReplicatedUsing UPROPERTY(ReplicatedUsing="abc") "Requires definition of the same `GetLifetimeReplicatedProps` function described in (replicated). There are technically three different valid signatures for the `UFUNCTION`, shown in the 3 code samples

Replicated UPROPERTY(Replicated) "Replication and multiplayer in general is a massive topic but some quick poitns: Marking a property as `Replicated` is not enough on its own. In the `.cpp` you also need to define a `GetLifetimeReplicatedProps` function (see

ExposeOnSpawn UPROPERTY(meta=(ExposeOnSpawn=true)) "When using `SpawnActor` or `Construct Object` from Blueprints, marking a property with `ExposeOnSpawn` will cause it to be shown in the same node. Useful for variables you often want to set up when creating an Actor or Object. You must mark

MakeStructureDefaultValue UPROPERTY(meta=(MakeStructureDefaultValue="abc")) "There's only one example of this in the codebase, inside `NoExportTypes.h`. Not sure how this is different from just doing a C11-style `FVector Scale3D =