Summary
When more than one player is added to a barrier device’s Ignore List, the barrier behaves correctly only for the first player. For every subsequent player in the same session, the barrier intermittently remains visible, retains collision, and allows phasing, despite being configured to stay invisible and non‑interactive for ignored players.
Please select what you are reporting on:
Unreal Editor for Fortnite
What Type of Bug are you experiencing?
Devices
Steps to Reproduce
-
Create an empty island.
-
Place 50 Barrier Devices (Material A).
-
Duplicate and place 250 additional Barrier Devices (Material B).
-
On all barriers, set Invisible to Ignored Players = True.
-
Add the Verse device below (game_manager_device) and place it in the world.
-
In its properties:
-
Assign two Player Spawners to PlayerSpawners.
-
Assign the first 50 barriers (Material A) to Barriers.
-
Island Settings → Join In Progress = Spawn, Post Game Spawn Location = Island Start, Start with Pickaxe = True.
-
Launch a session.
-
Player 1 joins → all 50 red barriers are invisible and non‑interactive (expected).
-
Player 2 joins the same session → most red barriers intermittently become visible, retain collision, and allow phasing (unexpected).
- Have Player 1 leave → barriers immediately correct themselves for Player 2 (now the only player on the ignore list).
Expected Result
Every player placed on a barrier’s Ignore List should always see that barrier as invisible and non‑interactive.
Observed Result
For players added after the first, barriers intermittently stay visible, retain collision, and allow phasing.
Platform(s)
PC, XBOX Series X, Playstation 5
Island Code
2413‑2021‑9097
Video
Additional Notes
Example “game_manager_device.verse” file:
using { /Verse.org/Simulation }
using { /Fortnite.com/Devices }
game_manager_device := class( creative_device )
{
@editable PlayerSpawners : []player_spawner_device = array{}
@editable Barriers : []barrier_device = array{}
OnBegin<override>()<suspends>:void =
{
for(Spawner : PlayerSpawners)
{
Spawner.SpawnedEvent.Subscribe(OnPlayerAdded)
}
GetPlayspace().PlayerAddedEvent().Subscribe( OnPlayerAdded )
GetPlayspace().PlayerRemovedEvent().Subscribe( OnPlayerRemoved )
}
OnPlayerAdded( PlayerAgent:agent ) : void=
{
for(Barrier : Barriers )
{
Barrier.AddToIgnoreList( PlayerAgent )
}
}
OnPlayerRemoved( PlayerAgent : agent ) : void =
{
for(Barrier : Barriers )
{
Barrier.RemoveFromIgnoreList( PlayerAgent )
}
}
}