Reverting DefaultMaterial to engine default?

I was creating a Blueprint (Actor base class) with a Spline component and the ConstructionScript dynamically creating SplineMeshComponents along that spline. In the Details panel of the Add Spline Mesh Component node, I dragged in a basic Cylinder.

Then I hit save and get the prompt, “/Engine/EngineMaterials/DefaultMaterial is a startup package. Startup packages are fully cooked and loaded when on consoles. ALL CONTENT IN THIS PACKAGE WILL ALWAYS USE MEMORY. Are you sure you want to save it?”

I press No, but never get the chance to restore the asset to its default values.

A coworker accidentally saved over a different engine file in a similar manner, and then had to get a copy of the original file from somebody else’s machine. This fixed it temporarily, and when he updated from 4.9.1 to 4.9.2 the installation moved his “bad” file into a separate directory before saving the 4.9.2 version.

I am considering reinstalling Unreal, but I’m worried something within my project is actually modifying the DefaultMaterial.uasset file and I will run into this same problem all over again. I’d much rather simply revert my file to its original state.

Solved! Steps to fix:

  1. Close Unreal
  2. Open Unreal Launcher
  3. Select Library
  4. Under Engine Versions, selected 4.9.2 dropdown and clicked Verify

After the Verification was complete, I reopened the project and no longer had the above problem. I suggest amending the popup to guide users to this solution!

I did just close the project and received a prompt to save over the DefaultMaterial.uasset, although I did not change a thing (it was literally opening and closing the project). I am not getting the continual nag prompt, so it’s not nearly as distressing.

IMPORTANT NOTE: We discovered that the DefaultMaterial was being modified by having a SplineMeshComponent use that material. It turns out SplineMeshComponent will automatically set a referenced material’s “use as spline mesh” flag to TRUE.