Agent skill · Audited from source
godot-3d-essentials
skill · gamedev-skills/awesome-gamedev-agent-skillsApache-2.0 licenceAudited 29 Oct 2026 · source 77df9453bb1b
Is it safe? Yes — SAFE, grade B (89/100). We read this skill's source at commit 77df9453bb1b and found no filesystem, network or shell access and no hard-coded secrets. What it does: Set up a Godot 4.7 3D scene: Node3D transforms, Camera3D, lighting (DirectionalLight3D/OmniLight3D), WorldEnvironment for sky/ambient/tonemap/post, MeshInstance3D materials, and GridMap for tile-based 3D levels. Use…
Cite
Cite this page
ModelsAtlas. “godot-3d-essentials (gamedev-skills/awesome-gamedev-agent-skills)”. Retrieved 29 Oct 2026. https://modelsatlas.com/skills/gamedev-skills/godot-3d-essentials
Trust audit
Audit 0.4.1 · source read 29 Oct 2026
SAFE means nothing in the source contradicts what the skill says it does. Grade B is shared by 13,985 of 14,816 audited skills.
What the source does
- FilesystemNone observedNo reads or writes in the source
- NetworkNone observedNo outbound calls in the source
- ShellNone observedNo commands run in the source
- DependenciesPinnedNothing floats
- SecretsNone foundNo keys in source
Five audit layers
| Layer | What we check | Result | Findings |
|---|---|---|---|
L0 Provenance | Repo owner, licence, archive status, activity | PASS | 0 |
L1 Static source | Secrets, path traversal, supply chain, hidden code | NA | 0 |
L2 Instructions | Prompt injection, authority framing, hidden directives | PASS | 0 |
L3 Inventory | The files and declarations match the source | PASS | 0 |
L4 Sandbox | Run in isolation and watch behaviour | SKIPPED why | 0 |
Gates applied: no behavioural pass.
Findings (0)
No findings at any severity. We re-audit when the source changes.
Audit 0.4.1 · source sha 77df9453bb1b · 29 Oct 2026Report an issue or request a re-scan
Provenance
Who published it, and what the verdict is pinned to
- Publishergamedev-skills GitHub organizationOwner of the repository this skill is read from
- Source foldergamedev-skills/awesome-gamedev-agent-skills/skills/godot/godot-3d-essentialsThe exact folder we audited
- LicenceApache-2.0As the repository states it
- Commit pinned for this verdict77df9453bb1bA new audit runs when the source changes
- Repository statusNot archivedLast push 1 day ago
- Sandboxed runNot runSkills are read, not executed; layer L4 is skipped
What it tells the agent
Full source on GitHub ↗Its description: Set up a Godot 4.7 3D scene: Node3D transforms, Camera3D, lighting (DirectionalLight3D/OmniLight3D), WorldEnvironment for sky/ambient/tonemap/post, MeshInstance3D materials, and GridMap for tile-based 3D levels. Use…
---
name: godot-3d-essentials
description: >
Set up a Godot 4.7 3D scene: Node3D transforms, Camera3D, lighting
(DirectionalLight3D/OmniLight3D), WorldEnvironment for sky/ambient/tonemap/post,
MeshInstance3D materials, and GridMap for tile-based 3D levels. Use when building
a 3D scene in a Godot project, placing cameras/lights, configuring environment and
post-processing, or working with Node3D/.tscn 3D content and GridMap.
---
# Godot 3D Essentials (4.x)
Assemble a working 3D scene: transforms, camera, lights, environment/post, materials, and
`GridMap` blockouts. Targets **Godot 4.7**.
## When to use
- Use when starting or fixing a 3D scene: positioning a `Camera3D`, adding lights, setting
up a `WorldEnvironment` (sky, ambient, tonemap, glow/SSAO), assigning materials, or
building levels with `GridMap`.
**When *not* to use:** writing spatial shaders → `godot-shaders`; 3D physics bodies and
raycasts → `godot-physics`; character animation blending → `godot-animation`; full FPS
template → the `fps-shooter` genre skill.
## Core workflow
1. **Everything 3D is a `Node3D`** with a `Transform3D` (position, rotation basis, scale).
Move with `global_position`, rotate with `rotate_y(angle)` or `look_at(target)`.
2. **Add a `Camera3D`.** Mark it `current` (or call `make_current()`); set `fov`, `near`,
`far`. Parent it to a rig/pivot for orbit or follow cameras.
3. **Light the scene.** A `DirectionalLight3D` is the sun; `OmniLight3D`/`SpotLight3D` are
local; `AreaLight3D` (4.7+) is a rectangular panel light that costs more than omni/spot.
Enable shadows per light. Without lights and ambient, surfaces render black.
4. **Add a `WorldEnvironment`** with an `Environment` resource: background (sky/color),
ambient light, tonemap, and post (glow, SSAO, fog, adjustments).
5. **Give meshes materials** (`StandardMaterial3D` or a `ShaderMaterial`) on
`MeshInstance3D`.
6. **Block out levels with `GridMap`**, which places `MeshLibrary` items on a 3D grid
(the 3D analog of a tilemap).
## Patterns
### 1. A follow camera (third-person, smoothed)
```gdscript
extends Camera3D
@export var target: Node3D
@export var offset := Vector3(0, 4, 8)
@export var smooth := 6.0
func _physics_process(delta: float) -> void:
if target == null:
return
var desired := target.global_position + offset
global_position = global_position.lerp(desired, smooth * delta) # smooth follow
look_at(target.global_position, Vector3.UP) # face the target
```
### 2. Sun + environment in code
```gdscript
func _ready() -> void:
var sun := DirectionalLight3D.new()
sun.rotation_degrees = Vector3(-45, -30, 0)
sun.shadow_enabled = true
add_child(sun)
var we := WorldEnvironment.new()
var env := Environment.new()
env.background_mode = Environment.BG_SKY
env.sky = Sky.new()
env.sky.sky_material = ProceduralSkyMaterial.new()
env.ambient_light_source = Environment.AMBIENT_SOURCE_SKY
env.tonemap_mode = Environment.TONE_MAPPER_FILMIC
env.glow_enabled = true
we.environment = env
add_child(we)
```
### 3. Assign a StandardMaterial3D from code
```gdscript
func tint_mesh(mesh: MeshInstance3D, color: Color) -> void:
var mat := StandardMaterial3D.new()
mat.albedo_color = color
mat.metallic = 0.0
mat.roughness = 0.6
mat.emission_enabled = true
mat.emission = color * 0.3
mesh.material_override = mat # overrides the mesh's surface materials
```
### 4. Place tiles into a GridMap
```gdscript
@onready var grid: GridMap = $GridMap # cell_size + mesh_library set in the editor
func build_floor(width: int, depth: int, item_id: int) -> void:
for x in width:
for z in depth:
# set_cell_item(Vector3i cell, int item, orientation = 0)
grid.set_cell_item(Vector3i(x, 0, z), item_id)
```
## Pitfalls
- **Scene renders black** → no lights and no ambient. Add a `DirectionalLight3D` and/or a
`WorldEnvironment` with ambient/sky. New scenes have neither by default.
- **No camera / wrong camera.** If nothing shows, no `Camera3D` is `current`. Set
`current = true` or `make_current()`; only one camera renders per viewport.
- **Confusing local vs global transforms.** `position`/`rotation` are relative to the
parent; `global_position`/`global_transform` are world space. Mixing them under a rotated
parent gives surprising results. `look_at` uses global coordinates.
- **Scaling physics/lights.** Non-uniform `scale` on a `Node3D` distorts child collisions
and lights; prefer scaling the mesh asset or using uniform scale.
- **`look_at` does nothing and prints an error** → the target equals the node's position, the
`up` vector is parallel to the look direction (e.g. looking straight down with
`Vector3.UP`), or the node is not in the tree yet. Keep an offset, pass a different `up`, or
use `look_at_from_position()` before the node enters the tree.
- **GridMap with no `MeshLibrary`** places nothing. Create a `MeshLibrary` (from scenes)
and assign it; `set_cell_item(cell, -1)` clears a cell.
- **HDR/glow too strong** → check `tonemap_mode` and glow thresholds; raw emissive values
bloom hard under filmic tonemapping.
## References
- For Transform3D math, camera projection modes, light/shadow params, the full
Environment/post-processing options, `MeshLibrary` creation, and `ReflectionProbe`/
`LightmapGI` lighting, read `references/scene-and-environment.md`.
## Related skills
- `godot-physics` — 3D bodies, areas, and raycasts.
- `godot-shaders` — spatial shaders for custom 3D surfaces.
- `godot-animation` — `AnimationTree` for 3D characters.
- `camera-systems` — third-person orbit / first-person look rigs, framing, and collision.
- `performance-optimization` — keep 3D scenes within frame budget (draw calls, lights, LOD).
- `fps-shooter` — composes 3D movement, input, and AI into a game.Excerpt, first 5,926 characters of SKILL.md, verbatim from the audited commit. It is text from someone else’s repository, quoted so you can judge it before your agent reads it.
Install
Pinned to the audited commit 77df945
git clone https://github.com/gamedev-skills/awesome-gamedev-agent-skills git -C awesome-gamedev-agent-skills checkout 77df9453bb1b
The author documents no install command, so this uses the repository directly. Our verdict covers commit 77df9453bb1b only.
Works in
The author has not said which agents this skill supports, and we have not tested it in any.
Audit history
Every audit, every source change
- ✓SAFE B 89 / 100
first audit · source
77df9453bb1b
README badge
For maintainers · shows the latest audit
[](https://modelsatlas.com/skills/gamedev-skills/godot-3d-essentials/)
The badge shows our verdict and grade for this skill, and links back to this page. It changes when the audit does.
Similar skills
gamedev-skills/awesome-gamedev-agent-skills
Implement 2D kinematic character movement in Godot 4.7 with CharacterBody2D and move_and_slide(): platformer run/jump with gravity, top-down 8-direction motion, slope handling, and reading collisions. Use when coding a…
gamedev-skills/awesome-gamedev-agent-skills
Design and build game UI/UX — HUDs, menus, and overlays — that survive every screen: anchor- based responsive layout, resolution/aspect scaling and safe areas, keyboard/gamepad focus navigation, a screen/menu state…
gamedev-skills/awesome-gamedev-agent-skills
Add "juice" and game feel that makes actions satisfying — screen shake, hit-stop/freeze frames, tweened/eased motion, squash & stretch, knockback, and layered audio-visual feedback — as engine-neutral techniques that…
gamedev-skills/awesome-gamedev-agent-skills
Plan and ship a game under a jam deadline: lock scope to the clock, schedule the hours, cut features, and submit on time. Use for a game jam (Ludum Dare, GMTK Jam, Global Game Jam), a 48-hour or weekend build, or…
gamedev-skills/awesome-gamedev-agent-skills
Design NPC and enemy decision-making with finite state machines, behavior trees, steering behaviors, and A* pathfinding — engine-neutral algorithms that pair with the detected engine's navigation API. Use when building…
gamedev-skills/awesome-gamedev-agent-skills
Build a first-person shooter: move+mouse-look controller, hitscan or projectile shooting, weapons, health, and enemy AI. Use for an FPS, or tuning aim feel, time-to-kill, recoil, or spread.
Add this badge to your README
[](https://modelsatlas.com/skills/gamedev-skills/godot-3d-essentials/)
<a href="https://modelsatlas.com/skills/gamedev-skills/godot-3d-essentials/"><img src="https://modelsatlas.com/skills/gamedev-skills/godot-3d-essentials/badge.svg" alt="ModelsAtlas: SAFE B"></a>
Questions about godot-3d-essentials
What does the godot-3d-essentials skill do?
Is godot-3d-essentials safe to install?
What can godot-3d-essentials access on my machine?
How current is this page?
Sources
- github.com/gamedev-skills/awesome-gamedev-agent-skills/tree/main — the audited source at commit 77df9453bb1b and every finding aboveObserved · 29 Oct 2026
Spotted something wrong? Report a correction · Methodology
Keep going in your AI
Opens with this page as the source. We add nothing else to the prompt.
- What does the godot-3d-essentials skill do?
- Is godot-3d-essentials safe to install?
- What can godot-3d-essentials access on my machine?