- Status
- Offline
- Joined
- Mar 3, 2026
- Messages
- 247
- Reaction score
- 7
Anyone else running into occlusion issues with their external chams?
I see some people struggling with culling when implementing chams for Rust. If your chams disappear the second a player model moves behind a wall or object, you are dealing with a standard depth testing issue. The game engine is correctly performing Z-buffering (culling), which is standard behavior for the renderer to save resources.
When you use manpad_crt_hdr or other standard shaders, they respect the depth buffer by default. If you want to see players through walls (which is the whole point of a chams implementation), you need to tell the renderer to ignore depth testing for your specific draw calls.
Here is the tech breakdown on how to fix this:
If you are new to this, be careful. Forcing chams to render through walls is a loud "signature" for anticheats like EAC. If you are playing on your main, expect a ban wave to hit you hard. Always test this stuff on an alt account first.
Tech-wise, are you using an external overlay or are you trying to hook the game's internal rendering loop? If you are external, you are likely just drawing boxes or implementing a skeleton ESP, so if you are trying to force actual chams externally, you are doing way more work than necessary—most people just stick to ESP overlay drawing for external setups to keep it undetected.
Has anyone here managed to get around the EAC depth buffer checks without getting flagged? Drop your thoughts or any better workarounds below.
I see some people struggling with culling when implementing chams for Rust. If your chams disappear the second a player model moves behind a wall or object, you are dealing with a standard depth testing issue. The game engine is correctly performing Z-buffering (culling), which is standard behavior for the renderer to save resources.
When you use manpad_crt_hdr or other standard shaders, they respect the depth buffer by default. If you want to see players through walls (which is the whole point of a chams implementation), you need to tell the renderer to ignore depth testing for your specific draw calls.
Here is the tech breakdown on how to fix this:
- Z-Test Disabling: You need to set your render state to disable depth testing before your draw call and re-enable it immediately after. If you are using a standard DirectX hook, look into ID3D11DeviceContext::OMSetDepthStencilState. You should create a custom depth stencil state where DepthEnable is set to false.
- Material Override: If you are hardcoding the material, ensure you are injecting a shader that doesn't perform depth writes or depth checks.
- Culling Settings: Check if your internal drawing logic is accidentally utilizing a backface culling state that conflicts with the game's own visibility checks.
If you are new to this, be careful. Forcing chams to render through walls is a loud "signature" for anticheats like EAC. If you are playing on your main, expect a ban wave to hit you hard. Always test this stuff on an alt account first.
Tech-wise, are you using an external overlay or are you trying to hook the game's internal rendering loop? If you are external, you are likely just drawing boxes or implementing a skeleton ESP, so if you are trying to force actual chams externally, you are doing way more work than necessary—most people just stick to ESP overlay drawing for external setups to keep it undetected.
Has anyone here managed to get around the EAC depth buffer checks without getting flagged? Drop your thoughts or any better workarounds below.