decentraland / decentraland/unity-explorer
Fishing rod model not visible during fishing — only line renders (GLB disappears under load)
- 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
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