Printing & Logging in Unreal Engine 5 C++
Syntax
if(GEngine)
GEngine->AddOnScreenDebugMessage(-1, 10.0f, FColor::Red, FString::Printf(TEXT("Message")));
UE_LOG(LogTemp, Warning, TEXT("Message"));
Default datatypes
int MyInt = 3;
GEngine->AddOnScreenDebugMessage(-1, 10.0f, FColor::Red, FString::Printf(TEXT("int: %d"), MyInt));
UE_LOG(LogTemp, Warning, TEXT("int: %d"), MyInt);
float MyFloat = 10.5f;
GEngine->AddOnScreenDebugMessage(-1, 10.0f, FColor::Red, FString::Printf(TEXT("float: %f"), MyFloat));
UE_LOG(LogTemp, Warning, TEXT("float: %f"), MyFloat);
bool bMyBool = true;
GEngine->AddOnScreenDebugMessage(-1, 10.0f, FColor::Red, FString::Printf(TEXT("bool: %s"), bMyBool ? TEXT("true") : TEXT("false")));
UE_LOG(LogTemp, Warning, TEXT("bool: %s"), bMyBool ? TEXT("true") : TEXT("false"));
Unreal datatypes
ECustomEnum EMyEnum = ECustomEnum::ValueA;
GEngine->AddOnScreenDebugMessage(-1, 10.0f, FColor::Red, FString::Printf(TEXT("Enum: %s"), *UEnum::GetValueAsString(EMyEnum)));
UE_LOG(LogTemp, Warning, TEXT("Enum: %s"), *UEnum::GetValueAsString(EMyEnum));
FString MyString = TEXT("Hello World");
GEngine->AddOnScreenDebugMessage(-1, 10.0f, FColor::Red, FString::Printf(TEXT("FString: %s"), *MyString));
UE_LOG(LogTemp, Warning, TEXT("FString: %s"), *MyString);
FName MyName = TEXT("Hello World");
GEngine->AddOnScreenDebugMessage(-1, 10.0f, FColor::Red, FString::Printf(TEXT("FName: %s"), *MyName.ToString()));
UE_LOG(LogTemp, Warning, TEXT("FName: %s"), *MyName.ToString());
FVector MyVector = FVector(1, 2, 3);
GEngine->AddOnScreenDebugMessage(-1, 10.0f, FColor::Red, FString::Printf(TEXT("FVector: %s"), *MyVector.ToString()));
UE_LOG(LogTemp, Warning, TEXT("FVector: %s"), *MyVector.ToString());
FRotator MyRotator = FRotator(90.0f, 45.0f, 0.0f);
GEngine->AddOnScreenDebugMessage(-1, 10.0f, FColor::Red, FString::Printf(TEXT("FRotator: %s"), *MyRotator.ToString()));
UE_LOG(LogTemp, Warning, TEXT("FRotator: %s"), *MyRotator.ToString());
UObject* MyObject = NewObject<UObject>(this, TEXT("MyObject"));
GEngine->AddOnScreenDebugMessage(-1, 10.0f, FColor::Red, FString::Printf(TEXT("UObject: %s"), MyObject ? *MyObject->GetName() : TEXT("NULL")));
UE_LOG(LogTemp, Warning, TEXT("UObject: %s"), MyObject ? *MyObject->GetName() : TEXT("NULL"));
UClass* MyClass = UObject::StaticClass();
GEngine->AddOnScreenDebugMessage(-1, 10.0f, FColor::Red, FString::Printf(TEXT("UClass: %s"), MyClass ? *MyClass->GetName() : TEXT("NULL")));
UE_LOG(LogTemp, Warning, TEXT("UClass: %s"), MyClass ? *MyClass->GetName() : TEXT("NULL"));
AActor* MyActor;
GEngine->AddOnScreenDebugMessage(-1, 10.0f, FColor::Red, FString::Printf(TEXT("AActor: %s"), MyActor ? *MyActor->GetActorLabel() : TEXT("NULL")));
UE_LOG(LogTemp, Warning, TEXT("AActor: %s"), MyActor ? *MyActor->GetActorLabel() : TEXT("NULL"));