Hiding Avatar Particle Effects in First-Person

[Update] September 12, 2024


Hello Creators,

We are planning an upcoming change in mid-September to hide particle and similar effects parented to characters when zooming into first-person. This may affect your experiences if you use such effects parented to characters and use the default camera scripts.

We are doing this to address an issue in which particle effects obstruct players’ views when they equip certain avatar bundles and accessories and zoom into first-person.

Before:

After:

The following instances are affected by this change:

  • ParticleEmitter
  • Beam
  • Trail
  • Fire
  • Smoke
  • Sparkles
  • Explosion

We considered making this change only affect these effects inside Avatar Accessories and BodyParts loaded as part of the player’s avatar, but we ultimately decided against this because we wanted this behavior to be consistently applied, as it is for Decals and BaseParts inside a player’s character. If your experience currently adds these effects to players’ characters and uses the default camera scripts, they will be hidden for that player when zooming into first-person.

If you have effects that you don’t want to be hidden when zooming into first-person, you can change them to be parented to a part that is welded to the character instead of directly parented to the character.

Click here for an example of adding effects which will be hidden in First Person:
local function setAblaze(character)
	local fire = Instance.new("Fire")
	fire.Size = 10
	fire.Color = Color3.new(1, 0, 0)
	fire.Parent = character:FindFirstChild("HumanoidRootPart")
	
	Debris:AddItem(fire, 10)
end
Click here for an example of how to put effects outside the character so they aren't hidden in First Person:
local function setAblaze(character)
	local hrp= character:FindFirstChild("HumanoidRootPart")
	
	local attachmentPart = Instance.new("Part")
	attachmentPart.CanQuery = false
	attachmentPart.CanCollide = false
	attachmentPart.Massless = true
	attachmentPart.Transparency = 1
	attachmentPart.CFrame = hrp.CFrame
	attachmentPart.Parent = EffectsFolder
	
	local weld = Instance.new("WeldConstraint")
	weld.Part0 = attachmentPart
	weld.Part1 = hrp
	weld.Parent = attachmentPart
	
	local fire = Instance.new("Fire")
	fire.Size = 10
	fire.Color = Color3.new(1, 0, 0)
	fire.Parent = attachmentPart
	
	Debris:AddItem(attachmentPart, 10)
end

Please let us know if you have any questions or feedback on this change.
Thank you!

198 Likes

This topic was automatically opened after 10 minutes.

This is awesome! Thank you so much!

23 Likes

I just straight up destroy them server-sided for characters, so I guess I partially win this time.

Useful for my game, I guess.

15 Likes

I’ve been waiting so long for this update, and I’m glad it finally arrived.

9 Likes

17 Likes

What about current custom put in Accessories that are used for other things like a replacement for the Tool Instance, since it overrides the Cursor and won’t work with ClickDetector?

One has to weld them outside?? :thinking:

11 Likes

This is wonderful the crown from the hunt was a huge pain when in first person.

8 Likes

This is a long overdue change that I’m happily welcoming! Thanks for finally fixing this.

7 Likes

This is amazing because of the new roblox UGC wand. (I can finally wear it without seeing the particles)

8 Likes

Actually some games Weld things as a Model onto the Character. I hope this is only going to affect the Character’s parts and accessories instead of the entire Model?

But these games, they have to actually turn these instances transparent manually. LocalTransparencyModifier for all these parts would be beneficial. I hope it will get made accessable when this change releases.

8 Likes

I implemented this in my RPG due to many effects in my game blinding players who preferred first person, and it was surprisingly harder to implement than you’d think. Glad this is going to be a built-in feature now!

15 Likes

Will this apply to effects inside of Tools equipped by a player too?
If so, that’d be a very inconvenient side effect.

9 Likes

This is a very welcome update, however maybe a type of toggle would be useful to turn this behaviour on and off inside the character even though you can do it the other way.

But for almost all cases, this is way better.

4 Likes

Very cool! will be useful. Has been needed for quite the time now

2 Likes

This will not apply to effects inside of tools.

11 Likes

We can finally tween entire effects in and out without extra code! :heart_eyes: Thank you!

5 Likes

It’s only taken 12 years to get here but the day has finally come. Now pumpkins like ghosdeeri and doomsekkar well finally be useable in first person.

4 Likes

Does “parented to character” also mean Tools will lose particle effects in first person? EDIT: The replies were flying too fast that I missed the above post, my bad.

5 Likes

Yes yes yesss! This is such a game changer, thank you to anyone and everyone involved in this, might i add, if possible any instance where even if the player ISNT in first person say walking or running but also driving a vehicle, i know thats a function a developer should add but a lot of games sadly dont have it. So if possible maybe the user if seeing through a certain area close to the head it removes the particles. Etc etc

Overall tho, awesome update!

3 Likes