Does every variable have the UPROPERTY() mark?

No it is not required for every variable, only for those that need to be visible for UE. For example if you want to have a variable editable in the UE editor it needs to be a UPROPERTY, but if it is just a internal varaible for a class it is not required.