Can you read a texture2D pixels at runtime using blueprints ?

Hi everyone.

I was wondering if you can access and read a texture 2D object in runtime using only blueprints ? I found a blog post showing how to do that with C++ ( UE4 - Reading the pixels from a UTexture2D - Isara Tech. ).

I want to generate a small texture map using the substance plugin (64x64 or 256x256) and access the pixel colors to create a level from it. For example the red pixels can be land, the dark blue pixels can be deep water, the light blue can be lakes or rivers and so on… But I can’t find how to do this in blueprint. Do you know how I can do this ?

Thank you for your help.

I think you want this plugin: LE Extended Standard Library in Code Plugins - UE Marketplace

It has an “Image To Pixels” node.

Thanks for the plugin Jared. I also tried Rama’s victory plugin that also have a similar node. But both of them are not working properly.

Rama’s victory plugin do not work with uassets, and LE extended library work only with already imported texture but not with the generated texture from the substance plugin (it return me a texture with a width and height of 0.

Looks like this is easily achievable in BP now for anyone who runs into this in the future.
Sample Texture 2d at UV Positions can do this exactly. It takes a list of UV coordinates, and outputs a list of colors.
image