Skip to content
Cauê Waneck edited this page Jan 6, 2020 · 12 revisions
  • @:glueCppIncludes("foo.h"[, "bar.h"]) - used before a @:uextern external class declaration to indicate that "foo.h" (and additional optional files separated by commas) are required for the class to compile. These headers will be included in generated glue.
  • @:noCopy - don't generate a copy constructor for this class/struct in C++. Good for when the external C++ copy constructor is protected so cannot be called by glue. May be cancelled by @:hasCopy.
  • @:noEquals - don't generate an assignment operator for this class/struct in C++. Good for when the external C++ assignment operator is protected so cannot be called by glue. May be cancelled by @:hasEquals.
  • @:thisConst - the following member function is treated as const in C++.
  • @:uclass([flags]) - used before a class declaration to indicate that the class should be exposed as a UE4 UCLASS with the corresponding flags.
  • @:uenum([flags]) - used to declare UE4 UENUM with the corresponding flags. See Enums.
  • @:uexpose - the following data member or member function should be exposed to C++.
  • @:uextern - used before an extern class declaration to indicate that the class is defined in C++
  • @:umeta(properties) - used in @:uenum delcarations to add metadata to individual enum values. See Enums.
  • @:ufunction([flags] - the following function is a UE4 UFUNCTION with the corresponding flags. uextension section.
  • @:uParamName - used exclusively before Delegate class definitions to indicate the parameter names that will go with the types in the Delegate definition. See Declaring delegate types.
  • @:uproperty([flags]) - the following data member is a UE4 UPROPERTY with the corresponding flags. See [Extending-UObject-derived-Classes#uproperty-metas](uextension section).
  • @:ureplicate([flags]) - the matching @:uproperty should be replicated using the UE4 flags. See Property Replication.
  • @:ustruct([flags]) - used before a @:uextern class declaration to indicate that the external class is a UE4 USTRUCT with the corresponding flags. See UStructs.
  • @:global([namespace]) - used on a static function or variable to tell that it's a global function/property. You can add the package definition if it has one.
  • @:typeName - tells that the generic should be applied using the type name, not the type itself. See Templated types and functions.
  • @:noDefaultConstructor - tells that the @:uextern class only has a FObjectInitializer& constructor, and no default constructor was provided.
  • @:uoverrideSubobject("Name",Type) - tells that the uextension class should call its FObjectInitializer& constructor with .SetDefaultSubobjectClass<Type>("Name")
Clone this wiki locally