How Custom Textures Work#
Besides the finishes that come with the pack, Shell Creator can dress walls, floors and roofs with your own images. There is nothing to stream and no YTD to edit: you drop two PNG files in a numbered folder and, after a restart, they appear in the builder's paint lists next to the stock textures.
This works because qs-shellcreator-props already streams 60 blank wall sets and 60 blank floors. When a player joins, the script reads your PNGs and paints them onto those blank models at runtime.
Folder | Slots | Shows up in the builder as |
|---|---|---|
| 1 – 60 | Custom Wall 01 … in the wall finishes. It covers full walls, half and quarter walls, doorways and window walls alike. |
| 1 – 60 | Custom Floor 01 … in the floor finishes, and Custom Roof 01 … in the roof finishes. |
Two examples of each ship in the download (walls/1, walls/2, floors/1, floors/2), so you can see the layout before adding your own.

Adding a Texture#
Create a numbered folder
Inside
qs-shellcreator/textures/walls/orqs-shellcreator/textures/floors/, create a folder named with the next free number:3, then4, and so on up to60. Use a plain number —3, not03orwood.Add the two images
lua textures/ ├── floors/ │ ├── 1/ │ ├── 2/ │ └── 3/ -- your new floor │ ├── diffuse.png │ └── normal.png └── walls/ ├── 1/ ├── 2/ └── 3/ -- your new wall ├── diffuse.png └── normal.pngA folder missing either file is skipped silently.
Restart the resource
restart qs-shellcreator, then reconnect. The new finish appears at the end of the wall or floor list in the builder, with its own picture as the preview.
Image Requirements#
File | What it is |
|---|---|
| The colour and pattern of the surface — the wood, the tiles, the plaster. It is also the preview picture in the builder. |
| The normal map, which fakes bumps and grooves so light catches the joints and grain. |
Format: PNG only.
Size: square, 512 × 512 or 1024 × 1024. Larger images cost every player memory for no visible gain.
Names: exactly
diffuse.pngandnormal.png, lowercase.Tiling: use a seamless image, or the edges show on every tile.
No normal map? Use a flat image filled with
#8080FFasnormal.png— the surface simply renders flat.
To make a real normal map from your diffuse image in a few seconds, without installing anything:
cpetry.github.ioNormalMap-OnlineFree normal map generator that runs in your browser — no uploads required.Turning It Off#
If you do not use custom textures, switch the system off in config/main.lua so nothing is scanned or loaded on join:
Config.CustomTextureEnabled = falseTroubleshooting#
My texture does not appear in the list
Check both files exist and are named exactly
diffuse.pngandnormal.png.Check the folder is a plain number between 1 and 60.
Check
Config.CustomTextureEnabledistrue, and that you restarted the resource and reconnected.
The texture looks wrong or black
Re-export the image as a real PNG (not a renamed JPG or WebP) with no transparency, and check the normal map is not inverted.
The texture is blurry
Use 1024 × 1024 instead of 512 × 512, and a sharp source image.



