I'm trying to run a simple Lua script in a C++ project using LuaMachine

But it keeps crashing and I can’t find any code example for this.

void ASampleGameActor::BeginPlay()
{
	Super::BeginPlay();

	LuaState = NewObject<ULuaState>(this, ULuaState::StaticClass(), FName("SampleLuaState"));
    if (LuaState)
    {
        // Test Lua execution
        FString TestScript = TEXT("print('LuaMachine initialized in SampleGameActor!')");
        RunLuaScript(TestScript);
    }	
}

void ASampleGameActor::RunLuaScript(const FString& LuaCode)
{
    if (LuaState)
    {
        FLuaValue Result = LuaState->RunString(LuaCode, TEXT("SampleGameTest"));
        if (Result.Type == ELuaValueType::Nil)
        {
            // No return value (expected for print), assume success unless Lua logged an error
            UE_LOG(LogTemp, Log, TEXT("Lua script executed"));
        }
        else if (Result.Type == ELuaValueType::String && Result.ToString().Contains("error"))
        {
            UE_LOG(LogTemp, Error, TEXT("Lua script failed: %s"), *Result.ToString());
        }
    }
}

Does this code make sense at all? Thanks