Skip to content
← Back to Blog tutorials

Free 3D furniture assets in Unity URP: import, lighting, and batching

By BitSoul3D5 min read77 views

Furniture props are the backbone of every interior game scene — and getting them right in Unity URP takes more than dropping a GLB file into your project. This guide walks through the full pipeline: evaluating free assets, setting up your lighting rig, enabling batching, and verifying performance before you ship.

Free 3D furniture assets in Unity URP: import, lighting, and batching

Evaluating free GLB furniture assets before importing

Not every free model on a marketplace deserves a slot in your scene. Before importing, open the GLB in a viewer (Blender, or Unity's own preview) and check for:

Free assets from BitSoul's marketplace ship in GLB format with embedded PBR textures — base color, metallic/roughness, and normals all packed in — which removes the texture-reassignment step that plagues FBX imports.

Evaluating free GLB furniture assets before importing — illustrated

Mesh import settings in Unity

In the Model import tab, set:

Mesh Compression: Off (GLB already optimises geometry)
Read/Write Enabled: Off (saves memory unless you modify verts at runtime)
Generate Lightmap UVs: On (required for baked lighting)
Blendshapes: Off (unless the prop has morph targets)

In the Materials tab, leave Extract Textures unchecked — Unity will automatically wire the embedded GLB textures to a URP Lit material.

Setting up lighting for imported GLB furniture props

Unity URP offers three lighting paths: fully real-time, baked, and mixed. For interior furniture scenes, mixed lighting hits the sweet spot — static surfaces get baked indirect, while dynamic objects (characters, interactive props) receive real-time shadows.

Setting up lighting for imported GLB furniture props — illustrated

Directional light and ambient setup

For an interior scene, rotate your Directional Light to simulate a window source: roughly 30–45° elevation, angled 15° off-axis. In Window → Rendering → Lighting, set:

Reflection probes for PBR accuracy

PBR materials on metallic or semi-gloss furniture (chrome legs, lacquered tabletops, glass) need a Reflection Probe to look correct. Place a Box probe that tightly encompasses the room:

// Minimum reflection probe setup via script
var probe = gameObject.AddComponent<ReflectionProbe>();
probe.mode = UnityEngine.Rendering.ReflectionProbeMode.Baked;
probe.size = new Vector3(roomWidth, roomHeight, roomDepth);
probe.center = Vector3.zero;
probe.resolution = 128; // 64 for mobile

Bake the probe after placing all static furniture. Without a baked probe, metallic surfaces default to the skybox — which looks wildly wrong indoors.

Light Probe Groups for dynamic objects

If characters or hand-held props move through the scene, drop a Light Probe Group with probes at head height and floor level across the room. This gives moving objects cheap per-vertex indirect lighting that matches the baked environment.

Batching furniture props: static batching vs GPU instancing

Each unique mesh + material combination costs a draw call. A furnished room with 30 props can easily hit 60–80 draw calls — unacceptable on mobile. Unity URP offers two weapons:

Static Batching — mark every immovable prop as Static in the Inspector. Unity merges geometry at build time into a single combined mesh per material. Best for:

GPU Instancing — for scenes with many copies of the same prop (stacked crates, identical chairs around a table), enable GPU Instancing on the material. All instances render in one draw call regardless of count.

You can combine both: mark repeated props as Static and GPU-instanced — Unity is smart enough to prefer instancing when it applies.

// Quick batching audit in the Unity Profiler:
// Frame Debugger → look for "Draw Mesh" calls
// Target: < 30 draw calls for mobile, < 100 for PC/console

Batching checklist

Prop typeBatching methodNotes
Unique static furnitureStatic BatchingMark Static in Inspector
Repeated chairs/stoolsGPU InstancingEnable on URP Lit material
Shadow-casting dynamic propsNone / manual LODToo expensive to batch
Small decorative clutterStatic BatchingHigh payoff, low poly

Final scene performance checklist

Before committing a furnished interior to production, run through these checks:

  1. Bake lighting (Window → Rendering → Lighting → Generate Lighting) and verify lightmap texels aren't blown out on any surface
  2. Open the Frame Debugger (Window → Analysis → Frame Debugger) and count draw calls in a representative camera angle
  3. Profile on target hardware — URP's GPU profiler in a development build shows exactly which prop is the culprit if frame time spikes
  4. Check lightmap UV seams: UV islands that share texel borders cause dark seams on baked meshes — increase Lightmap Padding to 4–8 texels if visible
  5. Verify reflection probe assignment: select a metallic prop and check the Mesh Renderer → Anchor Override is set correctly so it samples the nearest probe

Free GLB furniture assets from BitSoul's marketplace give you a solid starting library — the embedded textures, clean topology, and single-material-per-prop convention make all of the above dramatically faster to set up than assets sourced from multiple vendors.


This post is part of the Ultimate Guide to Free 3D Game Assets — BitSoul's complete reference for formats, texturing, rigging, optimization, and engine integration.


Build with real assets: grab game-ready furniture 3D models on the BitSoul marketplace and drop them straight into your project.

Tags: furniture

Skip the modeling — download it instead

A free BitSoul3D account gets you 2 GLB downloads every month for personal use plus 25 one-time AI Engine credits, no card required. PBR-textured GLB downloads with a full 3D preview before you buy, for Unreal, Unity, Godot or Blender — OBJ and 3D-printable STL come with any purchase or paid plan.

Browse 1,051 models — from $4.99 → or start free (2 downloads a month)