I’m currently using that. You need to copy and paste the code from the wiki because you’re right, it isn’t available in a cooked build. The problem is this kills memory bandwidth depending on how large your streaming textures are. If you already have a texture on the GPU that you just need to use you’ll end up:
- copy from GPU to CPU, for your use
- copy from CPU to CPU, Unreal Engine memory for update region to work
- copy from CPU to CPU, copy from Unreal Engine’s memory location to the Direct3D driver memory buffer location to upload to GPU
- copy from CPU to GPU, Direct3D to GPU texture upload
I’m guessing that this is the order, but even if you can magically skip the two center steps you’re still doing a copy from GPU to CPU then back to GPU for something that is already on the GPU and ready to use. I’m trying something painful right now subclassing UTexture2D, FTexture2D and one more class and seeing if there is any way to force my texture in there directly. So far it isn’t working but there is a chance.
PS: feel free to upvote the question on the answerhub in case a highly voted question with 0 answers will end up getting a response