decentraland / decentraland/unity-explorer

Fishing rod model not visible during fishing — only line renders (GLB disappears under load)

Open
#9,511 2 comments 0 reactions 0 assignees View on GitHub
2-medium bug content-team graphics Mac Only memory-issue qa-team
Dominant language
C#
Stars
23
Forks
17
Avg merge
2d 16h
Merged PRs (30d)
101

Description

## Summary

When fishing in the pond, the fishing rod/pole is invisible — only the fishing line appears, even while casting and reeling in. The issue reproduces at 100% once the engine has been sufficiently loaded.

## Steps to Reproduce

1. Load the scene with the fishing pond
2. Trigger engine load by scrolling fast through calendar event pages, entering the wearable store, and visiting other buildings
3. Return to the fishing pond and go fishing
4. Cast a line
5. Observe your hands — the fishing rod is not visible, only the line

The issue can also be triggered by switching graphic quality settings from Low to High on a lower-end machine while the fishing game is active.

## Expected Behavior

The fishing rod model should be visible in the player's hands while casting and reeling in.

## Actual Behavior

Only the fishing line renders. The rod model is invisible, suggesting the GLB asset has been dropped/unloaded by the engine.

## Environment

- **Platform:** Mac (also observed in general under engine load)
- **Reproduction rate:** 100% once engine is sufficiently loaded

## Additional Context

- The team believes this is related to GLB models being unloaded when the engine is overloaded, though the exact mechanism is not fully confirmed.
- Possibly related to or a symptom of #9469 (`GltfContainerAsset.Root` use-after-free / destroyed while referenced by a live promise result), which can cause GLTF assets to silently disappear without a crash.
- Cache clearing was not tested as a workaround.
- Reported via the in-game bug reporting system by user Kim; reproduced independently by QA.

## References

- Possibly related: #9469 — GltfContainerAsset.Root destroyed while still referenced by live promise result

Requested by Dawid Krajewski via Slack

Contributor guide

Open the contributing guide

Research direction

Reproduce the fishing pond scenario after stressing the engine and changing graphics quality, then read the related #9469 report about GltfContainerAsset.Root being destroyed while referenced. Trace the GLB asset lifecycle around the fishing rod and verify that the rod remains visible while casting and reeling under load.

Written by the indexing model from the issue text.

Assessment

Tech stack
csharp, unity
Domain
game-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
48/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.