Skip to content

"Create Collision Shape" operates on old version of a mesh when asset updates #110167

@mattylase

Description

@mattylase

Tested versions

  • Reproducible in v4.4.1.stable.official [49a5bc7]

System information

Godot v4.4.1.stable - Windows 11 (build 26100) - Multi-window, 1 monitor - Vulkan (Forward+) - dedicated NVIDIA GeForce RTX 4090 (NVIDIA; 32.0.15.7640) - Intel(R) Core(TM) i9-9900K CPU @ 3.60GHz (16 threads)

Issue description

Godot seems to operate on a cached version of the mesh data when Creating Collision Shapes from it, despite the mesh updating visually.

Steps to reproduce

This is done with a .blend automatic import

  1. Add a .blend to a scene
  2. Right click on the new node and toggle "Editable Children" to see the mesh
    a. Optionally, you can create a New Inherited Scene and observe the same results
  3. Select the child mesh
  4. Open the Mesh menu and select "Create Collision Shape..."
  5. Hit "Create" and observe that your CollisionShape3D is created
  6. Open the file in Blender
  7. Edit the mesh geometry & save
  8. Return to Godot
  9. Observe that all of your asset re-imports and all changes are visible in the scene as expected
  10. Repeat steps 1 through 5 above
  11. Observe that the new CollisionShape3D matches the old geometry, not matching your edits

I thought this might be intended (or some some other feature of an Inherited Scene that I'm not familiar with), but it stops happening if you close and reopen Godot, so it seems like something is cached in-memory and isn't being updated the way the rest of the attributes get re-imported.

Minimal reproduction project (MRP)

N/A

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions