sideeffects / HoudiniEngineForUnreal

Houdini Engine Plugin for Unreal Engine.
http://www.sidefx.com/unreal
Other
1.38k stars 374 forks source link

Shader Recompilation Delays Water Visibility in Houdini Engine > 20.0.625 with Unreal 5.3 #329

Open chickenmi opened 2 days ago

chickenmi commented 2 days ago

Issue Summary

When using Houdini Engine versions above 20.0.625 with Unreal Engine 5.3, importing a landscape with multiple paint layers and adding a water body actor sometimes triggers unexpected shader recompilation. This causes the water body to remain invisible until the process completes. The issue is intermittent but consistently reproducible when landscape paint layers are modified and re-imported. This behavior is not observed in Houdini Engine version 20.0.625 or earlier.

Steps to Reproduce

  1. Setup:

    • Use Houdini Engine version above 20.0.625.
    • Use Unreal Engine 5.3.
  2. Import Landscape:

    • Create a landscape in Houdini with multiple paint layers.
    • Import the landscape into Unreal Engine 5.3.
  3. Add Water Body:

    • Place a water body actor (e.g., lake, river) onto the imported landscape.
  4. Modify Layers:

    • Change one or more paint layers on the landscape and re-import.
  5. Observe Behavior:

    • Notice that shader recompilation is intermittently triggered after modifying layers.
    • The water body remains invisible until shader compilation completes.

Expected Behavior

The water body should appear immediately upon placement or after layer modifications without triggering shader recompilation.

Actual Behavior

Shader recompilation occurs intermittently, particularly after changing and re-importing paint layers. This causes delays, as the water body remains invisible until recompilation completes. The issue is particularly disruptive when iterating on landscapes, as it requires waiting for recompilation after each change.

Additional Information

Request for Assistance

Environment Details

Note

This issue is particularly problematic during iterative development, as it requires waiting for shader recompilation after every landscape change, which significantly slows down the workflow. Any assistance in identifying the root cause or potential solutions would be appreciated.