I tried using SurfaceGui instead, but it treats the mesh like a cube and makes the image not fit at all into the model, dunno if theres a setting that changes that though
Why I did not just, put on a Texture using the Texture ID property in the MeshPart itself?
The reason is that, if you do put a Texture through the Texture ID, it will become a repeated amount of images respective to the amount of Studs per Tile, and it will just treat it like a Material on a normal Part.
Why do we have to do all those steps, while we can just normally put on a Decal or Texture?
This is because when you insert a MeshPart normally using the Insert Object option, or just normally by using the “+” symbol, in workspace, it does not become a 3D object. If you do try to put on a Decal, without making it a 3D object, it will not show anything.
Alternatively you can try to use UV Mapping (commonly called UV Warping) using Blender, but as I am not familiar with such techniques, I will not mention them here, although you can read this documentation if that helps. MeshPart | Documentation - Roblox Creator Hub
I took a look at the model you sent and messed around. I wasn’t able to fit the decal so that it would be cropped to the walls of the console. One thing you could do is make two meshes: One mesh will be the wall, and the other be the console. This way, the decal should be able to “focus” on the outside wall instead of being wrapped around little parts of the console.
yeah i decided to stick with your idea and separated the side walls from the original model, it actually made everything less messier, maybe next time i’ll try UV mapping though, just so i can have more compact models in the workspace next time,