This Godot Shader Recreates Baldur’s Gate 3 See-Through Walls, and the Feedback Is a Lesson in Game Design

Features

This Godot Shader Recreates Baldur’s Gate 3 See-Through Walls, and the Feedback Is a Lesson in Game Design

A Godot developer has built an occlusion cutout shader inspired by Baldur’s Gate 3, and the comment thread underneath it turned into a genuinely useful debate about when the effect helps and when it quietly makes your game worse.

The shader, shown running in Godot 4.7.1, punches a soft circular hole through any wall standing between the camera and the player. The developer says they plan to release it on Godot Shaders. The original post is on r/godot.

What an occlusion cutout actually solves

Any game with a fixed or semi-fixed camera above the action runs into the same problem: geometry gets between the camera and the thing you need to see. The traditional fixes are all compromises — fade the whole wall out, remove the roof entirely, or push the camera somewhere less useful.

A cutout shader takes a narrower approach. Rather than hiding whole objects, it makes only the region directly obstructing the player transparent, keeping the rest of the environment intact. That preserves the sense of an enclosed space while still letting you see your character.

The criticism is the interesting part

The top responses were not about the implementation, which people liked. They were about scale.

The argument, roughly: a small circular cutout works beautifully for low walls and thin obstructions. Move into a large building interior and it starts fighting you — you can only see a couple of metres around your character, so you end up rotating the camera constantly just to understand the room you are standing in. One commenter noted they had to watch the clip several times to piece together the interior layout.

The suggested fix was to combine techniques: keep the cutout for isolated obstructions, but switch to a broader transparency or roof-removal pass once the player is fully inside a structure.

And the counter-argument

The rebuttal is worth quoting in spirit, because it applies far beyond this one shader: nothing is “supposed to happen” in games. Whether the player should see an entire interior or only their immediate surroundings depends entirely on what the game is doing.

A tactics game where you plan around enemy positions needs full interior visibility. A horror game or a stealth game might want exactly the opposite — a tight bubble of vision that makes enclosed spaces feel genuinely enclosed. The same shader is a bug in one design and a feature in the other.

Why this thread is worth reading if you use Godot

Two reasons. First, occlusion handling is one of those problems every 3D project with a top-down or isometric camera eventually hits, and there is no single correct answer — only trade-offs.

Second, it is a good demonstration of Godot 4 shader capability. Effects that used to require engine-level support or paid assets in other engines are now weekend projects that get shared freely with the community.

Where to find it

More developer resources in our resources library, or see this open-source Three.js VFX sandbox for another example of graphics work shared freely with the community.

Frequently asked questions

What is an occlusion cutout shader?

It is a shader that makes only the portion of a wall or object blocking the camera view of the player transparent, rather than hiding the entire object. It is commonly used in games with top-down or isometric cameras.

Which games use this effect?

Baldur’s Gate 3 is the reference cited by the developer. Many isometric RPGs and tactics games use some variation of cutout, fade, or roof-removal to handle camera occlusion.

What are the downsides of a cutout shader?

The main criticism is scale. A small cutout works well for isolated walls, but inside large buildings it can reveal only a couple of metres around the player, forcing constant camera rotation. Many developers combine it with broader transparency or roof removal for interiors.

Can you make this effect in Godot?

Yes. This example was built in Godot 4.7.1, and the developer plans to publish it on Godot Shaders, the community site for free Godot shader resources.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top