stonefletcher / assets / first scene

Try a room.
Make it your own.

Six real models from the paid packs. No purchase, account or Hearth add-on needed.

The sample uses the same commercial-project licence as the paid packs. Models are not licensed for standalone redistribution or AI training.

The free sample contains six models from the current paid packs: Sofa, CoffeeTable, FloorLamp, PottedPlant, PatioChair and CafeChair. These are the actual delivered models, not reduced-quality previews. No Hearth add-on is needed to use them.

Version 2.2: 348 new models across every room of the home, the garden and the street, plus the new Celebrations collection with decor for 18 festivals. All 722 models passed independent Blender/FBX/GLB checks, strict geometry and baked UV checks, and native Unreal 5.8.3 FBX imports, and their delivery previews were visually reviewed. Collections over 1 GB download in parts; extract every part into the same folder. The free sample is unchanged at 2.0.3. This is a static model pack: configure collision, wind, LODs and engine materials for your project. Corrected older pivots and offsets are documented in CHANGELOG.txt and MODELS.json; check existing placements when replacing older files.

Browse all 722 models before buying

Open a named catalogue sheet at full size. These are actual delivered model previews from version 2.2.

1. Download and unpack

Extract the complete ZIP into a project folder. Keep each model's textures folder next to its .blend and .fbx files. Each .glb embeds its own textures. Read LICENSE.txt: commercial use in your own projects is allowed; redistribution as standalone assets and AI training/reference-data use are not permitted. The asset licence is separate from Hearth's GPL code licence.

2. Try the sofa in Blender

Use Blender 5.2 or newer. Save any open work first. Choose File > Open and open Models/Living/Sofa/Sofa.blend. Change the viewport to Material Preview to see the material; Solid shading does not show the final textured appearance. The mesh is the furniture; SOCKET_* empties are interaction markers, not visible geometry. Opening a model replaces the current document, so save the assembled scene under a new name rather than overwriting the supplied file.

To build a scene without replacing it, start a new file and use File > Import > glTF 2.0 (.glb/.gltf) for each model's GLB. Keep default import scale. In a scene using metres, the sofa is approximately 2.2 m wide. GLB is convenient for assembling the look; use the supplied JSON when you need the original gameplay socket data.

3. Arrange a reading corner

Import Sofa, CoffeeTable, FloorLamp and PottedPlant. Place the sofa on the floor, the coffee table in front, the lamp beside one arm and the plant beside the other. Move the entire imported object hierarchy together if your importer creates a parent. Inspect the front direction after import; applications can convert axes. Leave room between the sofa and table for the intended character or camera. Save your scene as MyReadingCorner.blend.

Use the patio chair and bistro chair to compare the garden and venue styles. Duplicate objects for layout work; colour variants do not count as extra models.

4. Understand the files

File Purpose
.blend Baked Blender mesh and material, plus socket/anchor empties
.glb Portable glTF model with embedded textures; metres, Y up
.fbx Centimetre export intended for Unreal; front +X, up +Z
.json Dimensions, named tint zones, colour variants and gameplay sockets
textures/ Base colour, normal, ORM and tint-mask images
preview.png Reference appearance of the delivered model
CATALOG.csv Model list, dimensions, triangle counts and socket names

5. Materials and tinting

GLB imports should bring their materials with them. For a manual material setup, use base colour as sRGB, and normal, ORM and tint mask as linear/non-colour data. ORM packs R = ambient occlusion, G = roughness, B = metallic. The normal maps are OpenGL (+Y); a DirectX-normal workflow requires the green channel inverted. Follow the engine's own material documentation when connecting these channels.

Tint masks mark up to three areas: red = A, green = B, blue = C; black preserves the baked colour. The model JSON names these areas. A custom material can mix a chosen colour into each masked area. This pack supplies masks and colour data, not an automatic tinting plug-in for every engine. Keep an untouched original material while experimenting.

Each model uses one mesh. The complete bundle has 214 models with one material and seven with an additional glass, screen or record material. Keep both material slots on those models.

6. Use a seat socket

Open the sofa JSON and find Sit_0. The coordinates are local centimetres in the original model frame (+X front, +Y right, +Z up; yaw in degrees). Convert them to your engine's coordinate system and then apply the furniture object's transform. They are placement references: your character rig, animation offsets and navigation still need integration. Test sitting, standing and collision with your own character.

Engine import checklist

Troubleshooting

Pink or missing textures: extract the entire folder tree; restore the textures beside the source file, or use the GLB with embedded textures.

100 times too big or small: check whether you imported centimetre FBX or metre GLB, and remove duplicate unit conversions. Compare against CATALOG.csv.

A seat marker is misplaced: convert its JSON coordinates as well as the mesh; do not treat centimetres as metres or mix glTF and Unreal axis conventions.

Appearance differs: compare in Material Preview or an appropriately lit render, then check texture colour spaces, ORM channel wiring and normal convention.

More models: https://stonefletcher.com/assets.html Support: alex@stonefletcher.com

Browse all models · Get support