UTextureRenderTarget2D problem with non-flat mesh surfaces

I’m using a UTextureRenderTarget2D to draw dynamic text onto a static mesh. Everything works fine with the default cube mesh, but when I use it with my own mesh (I also tried it with the starter content sphere), the Clear function works to set the background color, but nothing else draws to it.
Here’s the relevant part of the code, unless there’s more that would be helpful to see. But since it works with flat sided meshes, I’m not sure if that’s the problem. Any ideas how to fix this? I’ve been trying things for several days, but haven’t gotten anywhere. Thanks for any help.

void Aspinner::PostInitializeComponents()

dynMatInstance = UMaterialInstanceDynamic::Create(theMaterial, NULL);

textureTarget = (UTextureRenderTarget2D*)StaticConstructObject(UTextureRenderTarget2D::StaticClass());
textureTarget->bNeedsTwoCopies = false;
textureTarget->bHDR = false;
textureTarget->ClearColor = FLinearColor::Black;
textureTarget->InitAutoFormat(1024, 1024);

FTextureRenderTarget2DResource* textureTargetResource = (FTextureRenderTarget2DResource*)textureTarget->Resource;
texCanvas = new FCanvas(textureTarget->GameThread_GetRenderTargetResource(), NULL, GetWorld(), GMaxRHIFeatureLevel);

dynMatInstance->SetTextureParameterValue(FName("T2DParam"), textureTarget);

for (int i = 0; i < ringMeshes[0]->GetNumMaterials(); i++) {
    ringMeshes[0]->SetMaterial(i, dynMatInstance);



void Aspinner::drawTexture() {


FCanvasTextItem text = FCanvasTextItem(FVector2D(10, 10), FText::FromString("test"), arialFont, FLinearColor::Blue);
text.BlendMode = ESimpleElementBlendMode::SE_BLEND_Translucent;



Is your custom object properly mapped? I mean UV is good.