Draw text on Dynamic Material c++

I am trying to draw text on my material dynamically through code however my mesh is always all black, I guess there must be some problem on my code, any clues what I am missing?

My class is a simple AActor with the following code:

#include "GameCube.h"
#include "Engine/StaticMesh.h"
#include "Materials/MaterialInstanceDynamic.h"
#include "UObject/Object.h"
#include "MaterialsEnum.h"
#include "Materials/Material.h"
#include "Math/UnrealMathUtility.h"
#include "Engine/Canvas.h"
#include "Engine/CanvasRenderTarget2D.h"
#include "Internationalization/Text.h"

// Sets default values
AGameCube::AGameCube()
{
 	// Set this actor to call Tick() every frame.  You can turn this off to improve performance if you don't need it.
	PrimaryActorTick.bCanEverTick = true;

	UStaticMesh* cubeMesh = nullptr;
	static ConstructorHelpers::FObjectFinder<UStaticMesh> CubeMeshAsset(TEXT("/Game/Meshes/GameCube"));
	if (CubeMeshAsset.Succeeded()) {
		cubeMesh = CubeMeshAsset.Object;
	}

	CubeMesh = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("GameCube"), false);
	if(CubeMesh && cubeMesh) {
		CubeMesh->SetStaticMesh(cubeMesh);
	}

	CubeMesh->SetSimulatePhysics(true);
	CubeMesh->SetCollisionObjectType(ECollisionChannel::ECC_PhysicsBody);
	CubeMesh->SetWorldScale3D(FVector(2.f,2.f,2.f));

	SetRootComponent(CubeMesh);

	UFont* font = nullptr;
	static ConstructorHelpers::FObjectFinder<UFont> Font(TEXT("/Game/Fonts/MyFont"));
	if (Font.Succeeded()) {
		font = Font.Object;
	}

	MyFont = font;
}

void AGameCube::DrawToCanvasRenderTarget(UCanvas* Canvas, int32 Width, int32 Height)
{
     //Drawing code with UCanvas goes here...
	 Canvas->DrawText(MyFont, FText::FromString("This is a test"), 0, 0);
	 UE_LOG(LogTemp, Warning, TEXT("Coming here"));
	 
}

void AGameCube::Init(TMap<int32, FMaterials> MaterialsMap)
{

	CanvasRenderTarget = Cast<UCanvasRenderTarget2D>(UCanvasRenderTarget2D::CreateCanvasRenderTarget2D(GetWorld(), UCanvasRenderTarget2D::StaticClass(), 1024, 1024));
	CanvasRenderTarget->OnCanvasRenderTargetUpdate.AddDynamic(this, &AGameCube::DrawToCanvasRenderTarget);
	
	CanvasRenderTarget->UpdateResource();

	UMaterialInstanceDynamic* MaterialInstance = UMaterialInstanceDynamic::Create(MaterialsMap[0].MaterialEntries[0], CubeMesh);
	MaterialInstance->SetTextureParameterValue(FName("TextureMaterial"), CanvasRenderTarget);
	CubeMesh->SetMaterial(0, MaterialInstance);
	CubeMesh->SetMaterial(1, MaterialInstance);
	CubeMesh->SetMaterial(2, MaterialInstance);
	CubeMesh->SetMaterial(3, MaterialInstance);
	CubeMesh->SetMaterial(4, MaterialInstance);
	CubeMesh->SetMaterial(5, MaterialInstance);

	CanvasRenderTarget->UpdateResource();

}

And here is my material definition on the editor , where I have a TextureSampleParameter2D with the same name I am using on SetTextureParameterValue:

Never mind, it was the font size too small !! Now it’s showing properly :slight_smile:
This question can be marked as resolved.