How do I make dialog show through parts?

In my game I have a top-down camera and in a cave there is a character who talks to you. When I set the OcclusionMode to Zoom, it doesn’t zoom and when I set the OcclusionMode to Invisicam, the dialog just doesn’t appear through the roof of the cave.

Here is my LocalScript under StarterPlayerScripts for the camera:

local Players = game:GetService("Players")
local RunService = game:GetService("RunService")

local player = Players.LocalPlayer
local camera = workspace.CurrentCamera

local CAMERA_DEPTH = 24
local HEIGHT_OFFSET = -10

local function updateCamera()
	local character = player.Character
	if character then
		local root = character:FindFirstChild("HumanoidRootPart")
		if root then
			local rootPosition = root.Position +, -30, 10)
			local cameraPosition = rootPosition +, 80, 0)
			camera.CFrame = CFrame.lookAt(cameraPosition, rootPosition)

RunService:BindToRenderStep("IsometricCamera", Enum.RenderPriority.Camera.Value + 1, updateCamera)

What can I do to make it work?

I made a post about making manually a bubble show. It probably helps, but it’s more complicated. I’d suggest wait for other replies, maybe they will help more.

1 Like

There should be a Zindex property inside the chat bubble, setting it to 0 should fix your issue

What’s a Zindex property? is it in properties?

Is your bubble a BillboardGui?

I just used a dialog under the head in explorer. Is that a BillboardGui?

No it’s not. Sadly if you really want this you’ll need some scripting.

Ok, is it at least a simple script?

Sadly, no. Sorry. Here’s a resource:

1 Like

Ok, thanks. I’ll check it out.

Ok, I tried it and all it did was confuse me. I copy and pasted the code but my dialog doesn’t have any choices so idk if that’s what went wrong but the dialog now just stays on the screen the whole time.