Hello everybody,
I’m trying to convert procedural meshes to StaticMeshes at runtime. The main reason is that Lumen doesn’t support procedural meshes. I put the required code in a simple plugin.
Here is a bare-bones version of the code that runs perfectly in the editor:
Obviously, why doesn’t the editor build run correctly?
Can I safely change UE5 code in “Engine/Source/Runtime/Engine/Private/StaticMesh.cpp” , as shown below, to remove the highlighted “#if !WITH_EDITOR” block and avoid fast building the StaticMesh? (fast-built static meshes are no different from procedural meshes as far as Lumen is concerned)
This topic has been moved from International to Programming & Scripting: C++.
When posting, please review the categories to ensure your topic is posted in the most relevant space. Hopefully, this category change will help you to get an answer.
While I’m not sure about the solution to your lumen problem, you can’t use UStaticMesh::Build outside of the engine. Unreal doesn’t ship with the necessary resources.
According to the Error message, you should be able to do that in an editor build, which still gave errors. That’s what I’m trying to understand and find a solution for.
and it works fine inside editor. However I get this error when I package the game:
If I understand you right, that’s more or less what I’d expect.
The static mesh build logic is, so far as I know, reliant on a lot of support code that would be wasted space in the shipping game; I believe that functionality is meant for editor plugins that allow you to generate/import/alter static meshes, where you would generate it once and then save the resulting asset into the game Content for later use. Hence why it is listed as for editor builds only.
If you package the game, you are no longer working with an editor build; if you run the executable for the packaged game, you run the game rather than the editor. Thus, none of the editor modules are loaded (or present).
There is a development build, debug build, and shipping build. There is no such thing as a packaged editor build. What it means when it says non-editor build is anything that isn’t the Unreal Engine editor itself.
Unreal Engine does not, in any configuration, package the resources required to transform a procedural mesh into a static mesh.
Although we can’t help with this issue, maybe you could clarify what you are trying to do by transforming a procedural mesh into a static mesh. There might be another method to accomplish it.