Confused with some nomenclatures used in UE documentations

When I look something up in UE documentations I often feel the information is very hard to understand because of its brevity or probably because in the beginning it is only for internal use between the developers or it has not been adapted for public consumption. Searching the same thing from other places on the internet is also disappointing.

I am very confused with nomenclatures and classifications used in UE documentations, for example: Property Specifiers | Unreal Engine 4.27 Documentation.

  1. What are Archetypes, Instances, Defaults, Anywhere, Visible, Edit, Blueprint, ReadOnly and ReadWrite?
  2. What are the differences between Edit and ReadWrite?
  3. What are the differences between Visible and ReadOnly?
  4. Are Archetypes and Blueprint the same thing?

Edit: I think I understood now. The bad chosen nomenclatures are the source of confusion.

/*

Details Panel:

VisibleAnywhere --> DetailsPanel=Read|Blueprint|Instance 
VisibleDefaultsOnly --> DetailsPanel=Read|Blueprint
VisibleInstanceOnly --> DetailsPanel=Read|Instance

EditAnywhere --> DetailsPanel=Read|Write|Blueprint|Instance
EditDefaultsOnly --> DetailsPanel=Read|Write|Blueprint
EditInstanceOnly --> DetailsPanel=Read|Write|Instance


Blueprint Node Panel:

BlueprintRead --> NodePanel=Get
BlueprintReadWrite --> NodePanel=Get|Set

*/

It will help others in the future! I hope!

It isn’t easy to start from the beginning. Getting all in one go is painful. I just recommend you start from simple tutorials and just remake it in engine. Each one give you a bit of information and you can snowballing from it. I start few months ago and now I have own nice prototype. Good luck.

I’d say the only two words you need to know about there are ‘blueprint’, and ‘instance’.

Try picking a specific target to work on, and look it up on youtube. The Epic docs can be useful to refer to later, but aren’t always a good starting point.

There are also a lot of free courses from Epic:

I now understood what the following mean.

UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Stats)
	float EditAnywere;
UPROPERTY(EditDefaultsOnly, BlueprintReadWrite, Category = Stats)
	float EditDefaultsOnly;
UPROPERTY(EditInstanceOnly, BlueprintReadWrite, Category = Stats)
	float EditInstanceOnly;
UPROPERTY(VisibleAnywhere, BlueprintReadWrite, Category = Stats)
	float VisibleAnywere;
UPROPERTY(VisibleDefaultsOnly, BlueprintReadWrite, Category = Stats)
	float VisibleDefaultsOnly;
UPROPERTY(VisibleInstanceOnly, BlueprintReadWrite, Category = Stats)
	float VisibleInstanceOnly;

Sorry, the confusion is mainly caused by the chosen UE nomenclatures that are neither readable nor self-explanatory.

You’ll run into naming convention inconsistencies every now and then, too. Inside and outside of the engine. There have been 27 major versions + triple that of hotfixes. On top of that, every engine iteration introduces a bunch of new features / entire systems while deprecating others.

And the documentation not being up-to-date and generally incomplete adds to the confusion.