Yeah you are good man, blender (and 3d modeling software in general) aren’t exactly intuitive. Basically “baking” a texture just means it turns it into one single 2d image that can be layed out over the model. First, you should just do a bit of uv unwrapping by just selecting some edges at places where a border would make sense (like a sharp edge or where a texture would be different). Then just hit the unwrap button under the “UV” dropdown menu in the context bar (shown in the image below)
Once your uvs look nice and fine(which usually is just relatively straight islands that maximize the space in the uv plot), go to shading tab and add an image texture to any of the materials (don’t connect it, if you do it won’t bake from what I remember) then hit the new button on it and create the resolution you want it to be (I’d say like 2K, as roblox I believe won’t let you upload images above 1K right now and it never hurts to have a little extra detail). For every other texture you want to bake onto the model, make sure you put an image texture in them as well and set it to that newly created image texture. Now, here is the part you should definitely follow. Go to the properties tab (most likely on your bottom left of your screen) and hit the tab that has a white camera icon (2nd topmost icon). Once you are there, click the drop-down menu next to render engine at the top of that tab and switch it from Eevee (basically a much faster version, not as QUITE as good looking as cycles) to cycles. This engine is good for rendering high quality images at the cost of performance (though it is being massively improved with each new version of blender) and which is why a few new tabs will appear now. If you look towards the bottom of properties tab, you will now see the “Bake” tab. Open it. You will see a few important things to remember in this tab, those things being the Bake button, Bake type, and influence (things like selected to active and output can also be important, but it’s best not to mind them for now). Because you are using just plain colors, you have no need for the bake type to be combined, which would bake things like roughness,metalness,and ambient occlusion (which are mainly used for PBR texturing, aka Physically Based Rendering AKA what a ton of engines used to make realistic materials). What we want is the “basecolor”, which in this case is the diffuse option. Select “Diffuse” in the Bake Type. There is one other thing you want to do before you bake it. Inside of influence, you will see Direct,Indirect, and Color. Direct is direct lighting like if you used just a regular light pointed at it, and is useful for baking shadows. Indirect can take a lot longer to bake, as it is light reflected by other objects and is something you will likely not use and should DEFINITELY turn off, as it can make the times for it to bake FAR longer than what you want. Finally, we have color of which you should probably never turn off, as it is literally color and you probably don’t need to just bake shadow images for this. So I’d suggest just turning off direct and indirect but you can leave direct on if you want to bake some shadows for some reason. Now you should be all good (don’t worry about “Bake from multires”, it has to do with the multiresolution modifier which you can learn more about if you like) and just hit the bake button. Considering it is just color, it shouldn’t take long and you should see the imagine in the bottom left view. In that view, hit the 3 lines → Image → Save as and then save it as whatever you would like. Now that you have baked it you can also change the engine back to Eevee and if you would like to, make one material for the entire mesh and just connect that image texture to the Base Color in the principled BSDF to see what it looks like. Now all you have to do is export as obj (don’t export as fbx, as both roblox AND blender have problems with fbx because Autodesk, the company who made it, left it as closed source and therefore neither company has inner knowledge of how it actually works). Now you can just export it as a .obj file (wavefront) to roblox and import it into roblox and it should work. If the texture doesn’t show up for some reason, just go to the texture property of the mesh part and manually import it from where you saved the image. If you have anymore questions you can ask me directly.
(Also sorry for not formatting this better, its just a lot of stuff to type)