So the custom cam works but the UI show up does not and the fade in intro does not work either. Any help?
--//Variables
local play = script.Parent.Play
local chapter = script.Parent.Chapter
local title = script.Parent.Title
local fader = script.Parent.Fade
local campart = workspace.Cameras:WaitForChild("JoinedCam")
while wait(.05) do
workspace.Camera.CameraType = "Scriptable"
workspace.Camera.CFrame = campart.CFrame
end
--//Fade
fader.Visible = true
fader.BackgroundTransparency = .1
wait(.5)
fader.BackgroundTransparency = .15
wait(.5)
fader.BackgroundTransparency = .2
wait(.5)
fader.BackgroundTransparency = .3
wait(.5)
fader.BackgroundTransparency = .45
wait(.5)
fader.BackgroundTransparency = .7
wait(.5)
fader:Destroy()
wait(1)
title.Visible = true
wait(1)
chapter.Visible = true
wait(1)
play.Visible = true
play.MouseButton1Click:Connect(function()
title.Visible = false
chapter.Visible = false
play.Visible = false
workspace.Camera.CameraType = "Custom"
workspace.Cameras.JoinedCam:Destroy()
game.Players.LocalPlayer.HumanoidRootPart.CFrame = CFrame.new(-553.1, -35.9, -24)--Spawnpoint
end)

6 comments
use for loop for the transparency of the "Fader" ~ for i = 0.1,0.7,0.05 do wait (.3) fader.BackgroundTransparency = i ~
Code Block Please
Why you expect him to write the code in a code block? He wrote it in a comment, because that code may not fully solve the issue.
If you want to fade in smoothly and don't want to do lazy math, I'd suggest using :lerp() and RunService.RenderStepped:Wait() for your wait() function.
tweenserver is better
Thanks guys!