Skip to content

MatchCondition spawn despawn bug #1033

Description

@SnaiperoG3D

Unity: 2022.3.62f2, 6000.3.12f1
Fish: up to 4.6.22

When some nob added to some id with MatchCondition, and when you need to kill this nob you do remove from match and despawn in one row.
Expected behavior: nob removed and not added to any match and not spawned on any client with different match.
What actually happend: default pool do instantiate and destroy new instance of nob type on all clients what cause Awake and OnDestroy calls.

There is simple project with this bug. You need to use parrelsync or builds or something. Run server and client instances. On server click on Server button to spawn "room". On client click Client button and wait for client spawn. Then click on remove room button on server instance, it will remove room from match and despawn room. Check logs on client, room have id 1, client have id 2, but this client will receive spawn and despawn for new room instance (or this room, idk exactly).
matchRemoveBug.zip

Activity

  1. SnaiperoG3D commented on Apr 10, 2026

    @SnaiperoG3D
    Author

    Found temp workaround to add owneronlycondition to nob. disable it after spawn and enable it before remove match condition

  2. SnaiperoG3D commented on Apr 10, 2026

    @SnaiperoG3D
    Author
  3. SnaiperoG3D commented on Apr 10, 2026

    @SnaiperoG3D
    Author

    also i dived in fish code and found that in despawn method there is auto remove from match call and could be another workaround

  4. added
    High PriorityThis task will be prioritized.
    ReceivedThe issue appears to be complete and will be reviewed.
    on Aug 30, 2026
  5. FirstGearGames commented on Oct 2, 2026

    @FirstGearGames
    Owner

    Looked into this and this appears to working properly. When you remove from the match it treats the network object as in no match and spawns it for everybody because that is the only condition which is blocking it from being seen by other players. Then when you despawn it that is when it fully disappears.

    You would either need to despawn it instead of removing it from the match which you already figured as an option or have another condition which restricted it from being seen for the other client.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Labels

High PriorityThis task will be prioritized.ReceivedThe issue appears to be complete and will be reviewed.Waiting For InformationNot enough information has been supplied to resolve this issue.

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions