I'm making a platformer game and I need a texture to be only on the top face of a cube and in the centre. Can I do this without scripts or do I need scripts? Also, my texture is transparent and I need it to have a white background, like this:
Do this with a decal. Make the cube white, then create a quad with your top face texture on it and place it on top like a sticker. (Leave a tiny gap to ensure they're rendered in the right order with limited depth buffer precision).
You can parent the quad to the cube, and make a prefab of the pair, so that they're easy to place and move around as a single unit.
If you want to avoid having two objects / draw calls, you'll need to make your own cube mesh with a custom UV unwrap. You'd set the texture coordinates of your custom cube so that the top face samples from the middle of your texture where the design is, and the other faces sample from the edges of the texture so they don't touch the design.