ENGINE GUIDE

Use ImgSearch game assets in Godot 4

Drop a GLB prop into your Godot 4 project and it imports as a scene you can instance. Add collision in the Advanced Import Settings, use WAV for short effects and OGG for loops and music.

Import a model

Each model downloads as a ZIP with the same prop in glb/, fbx/ and obj/ folders. Godot 4 reads GLB natively, so that is the one to use.

  1. Unzip the download and copy the .glb from its glb/ folder into your project, for example res://models/. Godot imports it as a scene straight away.
  2. Drag it from the FileSystem dock into a 3D scene, or right-click it and choose New Inherited Scene to get an editable copy.
  3. The prop arrives as one MeshInstance3D with one StandardMaterial3D that samples the kit’s palette texture. Flat shading is baked into the mesh.
  • 1 unit = 1 metre, +Y up, the same as Godot, so no scaling is needed.
  • Base at the origin. The lowest point sits on y = 0, so a prop placed at y = 0 stands on the floor.

Add collision in the import dock

  1. Double-click the .glb in the FileSystem dock to open Advanced Import Settings.
  2. Select the mesh node in the scene tree on the left. Under Physics, tick Generate and keep Body Type on StaticBody3D for scenery.
  3. Pick a Shape Type: Box or Single Convex for crates, barrels and signs; Decompose Convex for concave props such as carts; Trimesh for static scenery the player walks on or around.
  4. Click Reimport. Every instance of the scene now carries its StaticBody3D and CollisionShape3D.

Place props from code

A GLB preloads as a PackedScene that you can instance as often as you need:

spawn_props.gd
extends Node3D

const CRATE := preload("res://models/wooden-crate.glb")


func _ready() -> void:
	for i in 5:
		var crate := CRATE.instantiate() as Node3D
		crate.position = Vector3(i * 0.9, 0.0, 0.0)
		crate.rotation.y = randf() * TAU
		add_child(crate)

Sounds: WAV for effects, OGG for loops

Copy the files you want from the pack’s wav/ and ogg/ folders. Godot imports .wav as AudioStreamWAV, which is cheap to play and right for short effects you trigger often, and .ogg as AudioStreamOggVorbis, which is smaller and right for long sounds, ambience and music.

  • To loop an OGG, select it, tick Loop in the Import dock and click Reimport. For a WAV, set Loop Mode to Forward.
  • Sound from a place in the world: use an AudioStreamPlayer3D as a child of the prop instead of an AudioStreamPlayer.
coin_sound.gd
extends Node

var coin_player := AudioStreamPlayer.new()


func _ready() -> void:
	coin_player.stream = preload("res://sounds/coin.wav")
	add_child(coin_player)


func collect_coin() -> void:
	coin_player.play()

We checked these snippets and the collision settings in Godot 4.7.

All game assets