How do PBR textures work on Roblox?

Hello.

As a 3D artist for almost 4 years now, it would be very nice for me to able to use meshes and PBR textures when creating maps. However, while I want to do this, I also want to consider the performance issues since there are no downloads on Roblox.

Do 3D models and PBR textures save in memory only once? For example, if I wanted to use the same brick PBR textures multiple times in my map, would it only save to memory once or would I have to worry about a memory issue for each time I use it. Same question for 3D models, can I use the same model multiple times (maybe with different scales)?

Thanks in advance!

PBR textures:

Pretty sure each texture map is loaded once. The maps are IDs on Roblox. However, since Normal Maps simulate the height of something, this can be extremely performance heavy on the client. When the client has their graphics set low, Normal Maps are not simulated. They can only be used with potential if your lighting technology is ShadowMap or Future.

Mesh/3D Models:

No, these are loaded every time. They have to respect StreamingEnabled and render distance options. This also explains why you cannot set a MeshID with a script. All Meshes are either sideloaded or loaded directly when the server starts. They are sideloaded if they are out of a certain render distance (Graphics Quality) and they are directly loaded when they are in the render distance.

1 Like