Article 1 : UE_Log() macro takes *FString as parameters
Article 2 : Private variable can be visible in blueprint by using this macro :
UPROPERTY(VisibleAnywhere, BlueprintReadOnly, Category = "YourCategory", meta = (AllowPrivateAccess = "true"))
Arcticle 3 : Template classes are prefixed by T.
Arcticle 4 : Classes that inherit from UObject are prefixed by U.
Arcticle 5 : Classes that inherit from AActor are prefixed by A.
Arcticle 6 : Classes that inherit from SWidget are prefixed by S.
Arcticle 7 : Classes that are abstract interfaces are prefixed by I.
Article 8 : macro specifier can be found in ObjectBase.h for USTRUCT, UFUNCTION, UCLASS, UPROPERTY, etc
Article 9 : Function can be visible in blueprint by using this macro :
UFUNCTION(BlueprintCallable, Category = "YourCategory")
Article 10 : AActor needs to be spawn with :
// Spawninfo has additional info you might want to modify such as the name of the spawned actor.
AMyActor* MyActor = GWorld->SpawnActor<AType>(AType::StaicClass(), SpawnPosition, FRotator::ZeroRotator, SpawnInfo);