Non powerof two width and height for Texture2d

If I create a texture as Texture2D text = new Texture2D(1920, 1080); will it work as expected on all platform?

I would want to load image onto this texture.

mostly yes.

I remember some very old mobile only support 1024 texture, which means the length of side has to be <=1024. But i guess you don’t have to concern those old device

Full NPOT texture support is mandatory for DirectX 10 and up, OpenGL 2.0 and up and OpenGL ES 3.0 and up. (desktop GPUs since 2006 or so, mobile GPUs since 2014-15)

Limited NPOT texture (no mip maps, only clamp wrap mode) support is optional for OpenGL 1.0 and DirectX 9 and it is mandatory for OpenGL ES 2.0 and up. (generally available for desktop GPUs since 2003 or so and any mobile GPU Unity supports)

In other words, limited NPOT is available on pretty much everything today.