Taking a screenshot with GetPixels is laggy and can't get Everyplay screenshot working with U3DXT.

I’d like to use a screenshot for sharing purposes with the U3DXT library. As I have made the Everyplay screenshot work, and have that texture in the game, the most straightforward solution would probably be to just assign that same texture to the U3DXT sharing. But for some reason that just doesn’t work. I’ve tried assigning that texture straight, and I’ve tried copying the texture like this:

screenShot=Instantiate(tex)asTexture2D;

But all I get is gray. Same thing happens if I do “getPixels” for that texture that does work.

So I tried an alternative of reading the screen pixels without using Everyplay API, and I did get the screenshot for U3DXT sharing working by using the ReadPixels method. The problem is that if I take the screenshot using GetPixels, there is a really bad lag whenever I take the screenshot.

Any help with this? This is getting pretty frustrating.

This works but causes a bad lag:
yield return new WaitForEndOfFrame ();
screenShot=newTexture2D(Screen.width,Screen.height,TextureFormat.RGB24,true);
screenShot.ReadPixels(newRect(Screen.width,0,Screen.width,Screen.height),0,0,true);

This doesn’t work:
screenShot = Instantiate(thumbnailMaterial.mainTexture) as Texture2D;

Why is it that the latter doesn’t work even though the thumbnail material is shown nicely in the game?

This is what I do to try to show the screenshot
SocialXT.Post (SLRequest.SLServiceTypeFacebook,
“blaablaablaa”, screenShot, “http://apps.facebook.com/” + FB.AppId));

And an additional question. The documentation mentions a method called GetRawTextureData. Why is it that I only see the method LoadRawTextureData? Is the GetRawTextureData only in Unity 5+ or something? If so, shouldn’t the documentation mention that?