UPROPERTY meta specifiers?

I’ve searched for any info or docs about meta specifier for properties, but just found this Epic Wiki page A new, community-hosted Unreal Engine Wiki - Announcements - Unreal Engine Forums

Is there only available info about property metas or not?

Hello napolinkinpark3r,

We have information about Metadata Specifiers in particular at this link:

Other than that, the only other official documentation available on the subject would be here:

Is there a particular specifier that you have questions about?

Recently I’ve looked new Battery Collector tutorial course to refresh coding knowledge and found that code defined private Uproperty with AllowPrivateAccess don’t behaves like private variable and can modified by any Blueprint. Can you explain this moment?

I found that this strange thing appear when I use BlueprintReadWrite with this private variable instead BlueprintReadOnly. With BlueprintReadOnly I can’t modify this variable, this is normal behaviour as I understand. But how I can modify protected variables inside inherited Blueprints?

As explained in the video, AllowPrivateAccess is being used in this case so that the things assigned to the component can be changed in the editor, such as what static mesh is assigned to a UStaticMeshComponent. If you wish to be able to modify your code-based properties in blueprint, you would want to use BlueprintReadWrite, as that means that you are making these readable and writable by the blueprint editor.

Hi, there are very few metadata specifiers detailed on that page. I know there are metadata specifiers like UIMin and ClampMin that can be used in UProperties. Where are those metadata specifiers documented?

Hello Secret322,

While I can’t guarantee that we have all of them documented, the metadata specifiers that are particular to a certain function or macro should be contained on that function/macro’s page. For those two, you can find them on the page for UProperties here: A new, community-hosted Unreal Engine Wiki - Announcements - Epic Developer Community Forums

Ah thank you for the list! I’ve been a little lost attempting to do some things with meta tags.

Hi, I hope it’s okay to respond to such an old post, but I am wondering why I am able to assign the mesh but not an enum using AllowPrivateAccess like this:

 UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Platform", meta = (AllowPrivateAccess = "true"))
  class UStaticMeshComponent* Mesh;
  UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "Platform", meta = (AllowPrivateAccess = "true"))
  EPlatformActivityEnum PlatformActivityEnum;

I have to set the enum to EditAnywhere, otherwise it is grayed out in the details panel. Could you possibly explain why? Should I make a new post for this? Thx!

If you want to know all the UCLASS, UFUNCTION, UPROPERTY, USTRUCT, etc specifiers and metadata specifiers the best thing you can do is look the header where those are defined.


You will notice that each specifier is documented with a C++ comment.

Hope this is what you are looking for! If it is please as answered! :smiley:

Unfortunately this doesn’t seem to contain all options. E.g. I can set meta = (BindWidget) however BindWidget is not in that file. Maybe - as the TODOs indicate - some meta information might be defined in their respective headers.

You might find better luck with this VS UMETA tool. Hope author will upgrade it with comments from documentation. :slight_smile: Cheers.