Skip to content

Materials and textures

A material is a texture with its settings: tile size (how many metres one repeat covers), tint, normal and specular maps, opacity and the game’s shader. The project keeps one file per material in Assets/Materials/; surfaces refer to them by a stable id.

The material editor (select a material in the Assets window) shows a large preview ball and the sections Surface, Specular, Opacity and Advanced, with a line that says which game shader and draw bucket it exports as.

A new project has one material, Default. + Add > Import default materials in the Assets window adds the editor’s starter set: Concrete, Plaster, Ceiling tiles, Wood planks, Brick, Tiles, Wood frame, Metal frame, Glass, Curtain fabric, White wallpaper and White plaster (both made to be tinted), and an opaque glass.

Window > Assets (a tab of the bottom strip) is the project folder as cards: Materials, Textures, Models, Trims. Drag a material card onto a floor, wall, ceiling or any surface in the view to paint it. Double-click a trim card to edit the profile.

Images: drop PNG, JPEG, TGA or DDS files from Explorer anywhere on the window (several at once is fine), or use + Add > Import texture…. Each becomes a texture of the project in the folder the Assets window shows.

Make folders with + Add > Folder and sort materials and textures into them by dragging cards onto a folder; a texture’s file moves with it and a renamed folder keeps its textures. A folder that still holds something is not deleted.

A material’s Normal and Spec boxes (material editor, Specular section) take any texture of the project:

  • open the box: the project’s textures are listed, with names ending in _n / _normal at the top for the normal map, and _s / _spec / _rough for the spec map;
  • drag a texture card from the Assets window onto the box;
  • or press Import… beside it to bring in an image file and set it in one step.

A normal map is a tangent-space map with green pointing up, as the game’s are; a spec map is grey, bright where the surface shines. Both are exported in DXT1, as nearly all of the game’s own.

Key Action
B Paint tool: choose a material in the strip over the view and click a floor, a floor zone, a flight (treads), a railing or a wall face.
Click on a wall Paints the span under the pointer
Ctrl+click Paints the whole face
Shift+click Paints every wall face looking into that room; on a floor it paints the ceiling, on a flight its risers, on a railing its infill
Ctrl+Shift+click The whole face of a wall on both sides
Alt+click In a room with a dado rail: the band under the rail, whatever the height

Dropping a material from the Assets or Textures window on a surface does the same as a click.

Window > Game textures (a tab of the bottom strip) browses the game’s texture library. It needs the GTA V install. The first time, it offers to scan the texture dictionaries once (about 6 minutes, in the background, cached) so that every texture name can be searched.

Control What it does
Search The curated list; from 3 letters, every texture name in the game (at most 300 cards, 3,000 for one dictionary)
Maps Normal and specular map textures stay out of the list unless this is on
Category Filter by kind (floors, walls, wood …)
Grid / List Cards with pictures, or rows with size, category and dictionary. The slider sets the card size
Click a card Details: a larger picture, name, dictionary, size and format, Repeats per metre, the normal and spec maps found by name
Use as material (or double-click) The texture becomes a material of the project
Only this dictionary Lists just the textures of that dictionary
Drag into the view The texture becomes a material and paints the surface it is dropped on

A material’s Tint multiplies the texture’s colour. Normal and Specular maps are found by the game’s naming or chosen by hand. UV adjustment (offset, scale, turn) is per part of a surface and per face of a mesh object.

Project textures are embedded in every drawable that uses them, because an interior has no shared texture dictionary.

A material becomes a game shader: default for a plain texture, spec, normal, normal_spec with their maps, cutout variants for alpha-tested textures, and glass_env for glass. The material editor’s last line says which one and in which draw bucket. Emissive and cutout materials use the game’s own presets.