I have created this script in Open Level Editor.
The variable inside the UserProfile class is not empty.
The gamemode override is set to MyProject2Gamemode.
The parent class is UObject.
Can we see that variable from the object please?
#pragma once
#include "CoreMinimal.h"
#include "UObject/NoExportTypes.h"
#include "UserProfile.generated.h"
/**
*
*/
UCLASS( Blueprintable, BlueprintType )
class MYPROJECT2_API UUserProfile : public UObject
{
GENERATED_BODY()
public:
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Stats)
float Armor;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Stats)
float HpMax;
UPROPERTY(EditAnywhere, BlueprintReadWrite, Category = Stats)
FString Name;
};
Apologies, I don’t know C++. I thought you are working in Blueprints. But since it worked for me inside blueprints I would have to assume there’s a error somewhere inside C++ code. Maybe someone with C++ knowledge can help you out.
Yeah, I don’t think this has anything to do with the Event Begin Play not firing. And to be sure, stick a print just after it to check.
I’d say the issue is that your name variable is coming back empty or just null. It’s got to be a problem inside your class. The name variable is set to something by default inside your class, yeah?
Also, you’re converting a string to do a print text. Just curious why you’re not just using print string.
This is the example in the book “Unreal engine 4.x Scripting with C++”.
Did you happen to check if Event Begin Play was firing a print string before your construct node? To verify that this is an issue with your C++ and not blueprints? If so, you may want to try posting this again with a better title, and under C++ since it doesn’t seem to be related to blueprints, nor the Event Begin Play node.
Also, I’m really really bad at C++, but in the snippet you posted, I don’t see anywhere where you’re defining or setting the “name” variable, just declaring a variable. That would explain why the print isn’t actually printing anything. If there’s no value set then it’ll just print an empty string.
I have to call the blueprint class not the C++ class.
Sorry I misunderstood what the book said.
Thank you for your help.