Runtime Mesh Component

Thank you @duke22 this is very nice! I was about to implement shape drawing in Slate widget but I might use this as it is much more simple solution that offer more benefits!

this is something iā€™ll be needing too for custom water volumes (iā€™m using boxes right now)ā€¦ i too was thinking on using slate to create thatā€¦ but iā€™ll check out that plugin too.
@duke22 would that have issues with depth fighting like my previous post?

We are still on UE4.16. Might be there are issues with the newer version.

Updated with arrow and cross shapes. Next up is correct uvā€™s.

iā€™m using 4.15, maybe there are issues on this version

Iā€™m seeing there is support for tesselation now, does this mean itā€™s possible to use displacement maps now? What about vector displacement?

Great progress guys!

For those of you wondering. I am still around! Iā€™ll have an update for you soon! (hopefully)

Iā€™m excited!

Great pluginā€¦ will appreciate a update to 4.18 :wink:

Please update to 4.18.

I am not sure I fully understand the concept of mesh sections. Are they made to be unloaded or only hidden when we want ?
I would like to make a somewhat Minecraft-like landscape (altough not only with cubes, but principle is the same). I guess it would be one RMC per chunk. I read about mesh sections on the wiki ā€œEach one of which has itā€™s own material, can have its own structure, can be updated independently, and can opt in or out of several other things.ā€ Would one mesh section per material in a chunk be the best way to use them ?

Yeah! Will be glad to see new updates!

yeah, thats what you would want to do. But you need to consider that a single chuck would be considered for rendering entirely, even if you just see a small corner of it. You might want to try to only have rendering data of a chunk that is accessible/visible to the player.

It wonā€™t compile for me on 4.17?



Log file open, 01/17/18 03:03:34
LogWindows: LoadLibraryWithSearchPaths failed for file aqProf.dll. GetLastError=0
LogWindows: LoadLibraryWithSearchPaths failed for file VSPerf140.dll. GetLastError=0
LogWindows: LoadLibraryWithSearchPaths failed for file VtuneApi.dll. GetLastError=0
LogWindows: LoadLibraryWithSearchPaths failed for file VtuneApi32e.dll. GetLastError=0
LogInit: Display: Running engine for game: Procedural
LogPlatformFile: Not using cached read wrapper
LogInit: Display: RandInit(1585655972) SRandInit(1585655973).
LogTaskGraph: Started task graph with 5 named threads and 14 total threads with 3 sets of task threads.
LogStats: Stats thread started at 0.199210
LogD3D11RHI: Aftermath initialized
LogPluginManager: Mounting plugin Paper2D
LogPluginManager: Mounting plugin LightPropagationVolume
LogPluginManager: Mounting plugin CodeLiteSourceCodeAccess
LogPluginManager: Mounting plugin GitSourceControl
LogPluginManager: Mounting plugin KDevelopSourceCodeAccess
LogPluginManager: Mounting plugin NullSourceCodeAccess
LogPluginManager: Mounting plugin PerforceSourceControl
LogPluginManager: Mounting plugin SubversionSourceControl
LogPluginManager: Mounting plugin UObjectPlugin
LogPluginManager: Mounting plugin VisualStudioSourceCodeAccess
LogPluginManager: Mounting plugin XCodeSourceCodeAccess
LogPluginManager: Mounting plugin AssetManagerEditor
LogPluginManager: Mounting plugin AudioCapture
LogPluginManager: Mounting plugin FacialAnimation
LogPluginManager: Mounting plugin GameplayTagsEditor
LogPluginManager: Mounting plugin MobileLauncherProfileWizard
LogPluginManager: Mounting plugin PluginBrowser
LogPluginManager: Mounting plugin SpeedTreeImporter
LogPluginManager: Mounting plugin AlembicImporter
LogPluginManager: Mounting plugin CharacterAI
LogPluginManager: Mounting plugin HTML5Networking
LogPluginManager: Mounting plugin AndroidMedia
LogPluginManager: Mounting plugin AvfMedia
LogPluginManager: Mounting plugin MediaPlayerEditor
LogPluginManager: Mounting plugin WmfMedia
LogPluginManager: Mounting plugin TcpMessaging
LogPluginManager: Mounting plugin UdpMessaging
LogPluginManager: Mounting plugin LevelSequenceEditor
LogPluginManager: Mounting plugin MatineeToLevelSequence
LogPluginManager: Mounting plugin OnlineSubsystemGooglePlay
LogPluginManager: Mounting plugin OnlineSubsystemIOS
LogPluginManager: Mounting plugin OnlineSubsystem
LogPluginManager: Mounting plugin OnlineSubsystemNull
LogPluginManager: Mounting plugin OnlineSubsystemUtils
LogPluginManager: Mounting plugin AndroidDeviceProfileSelector
LogPluginManager: Mounting plugin AndroidMoviePlayer
LogPluginManager: Mounting plugin AndroidPermission
LogPluginManager: Mounting plugin AppleMoviePlayer
LogPluginManager: Mounting plugin ArchVisCharacter
LogPluginManager: Mounting plugin CableComponent
LogPluginManager: Mounting plugin CustomMeshComponent
LogPluginManager: Mounting plugin ExampleDeviceProfileSelector
LogPluginManager: Mounting plugin GoogleCloudMessaging
LogPluginManager: Mounting plugin ImmediatePhysics
LogPluginManager: Mounting plugin IOSDeviceProfileSelector
LogPluginManager: Mounting plugin LinuxDeviceProfileSelector
LogPluginManager: Mounting plugin LocationServicesBPLibrary
LogPluginManager: Mounting plugin MobilePatchingUtils
LogPluginManager: Mounting plugin OculusVR
LogPluginManager: Mounting plugin PhysXVehicles
LogPluginManager: Mounting plugin ProceduralMeshComponent
LogPluginManager: Mounting plugin RuntimePhysXCooking
LogPluginManager: Mounting plugin SteamVR
LogPluginManager: Mounting plugin WindowsMoviePlayer
LogPluginManager: Mounting plugin RuntimeMeshComponent
LogInit: Warning: Incompatible or missing module: UE4Editor-RuntimeMeshComponent.dll
LogInit: Warning: Incompatible or missing module: UE4Editor-RuntimeMeshComponentEditor.dll
Running E:/Unreal/UE_4.17/Engine/Binaries/DotNET/UnrealBuildTool.exe Procedural Development Win64 -project="E:/Unreal Projects/Procedural/Procedural.uproject" -editorrecompile -progress -NoHotReloadFromIDE
@progress push 5%
@progress pop
Performing 6 actions (4 in parallel)
Module.RuntimeMeshComponent.gen.cpp
Module.RuntimeMeshComponentEditor.cpp
e:\unreal projects\procedural\plugins\runtimemeshcomponent_v2.0\source\runtimemeshcomponent\public\RuntimeMeshCore.h(362): warning C4265: 'FRuntimeMeshVertexTypeInfo': class has virtual functions, but destructor is not virtual
         instances of this class may not be destructed correctly
e:\unreal projects\procedural\plugins\runtimemeshcomponent_v2.0\source\runtimemeshcomponent\public\RuntimeMeshGenericVertex.h(551): warning C4265: 'FRuntimeMeshVertexTypeInfo_GenericVertex<true,true,true,true,1,ERuntimeMeshVertexTangentBasisType::Default,ERuntimeMeshVertexUVType::HighPrecision>': class has virtual functions, but destructor is not virtual
         instances of this class may not be destructed correctly
e:\unreal projects\procedural\plugins\runtimemeshcomponent_v2.0\source\runtimemeshcomponent\public\RuntimeMeshGenericVertex.h(1247): note: see reference to class template instantiation 'FRuntimeMeshVertexTypeInfo_GenericVertex<true,true,true,true,1,ERuntimeMeshVertexTangentBasisType::Default,ERuntimeMeshVertexUVType::HighPrecision>' being compiled
e:\unreal projects\procedural\plugins\runtimemeshcomponent_v2.0\source\runtimemeshcomponent\public\RuntimeMeshGenericVertex.h(1247): warning C4265: 'FRuntimeMeshVertexTypeInfo_FRuntimeMeshVertexSimple': class has virtual functions, but destructor is not virtual
         instances of this class may not be destructed correctly
e:\unreal projects\procedural\plugins\runtimemeshcomponent_v2.0\source\runtimemeshcomponent\public\RuntimeMeshGenericVertex.h(551): warning C4265: 'FRuntimeMeshVertexTypeInfo_GenericVertex<true,true,true,true,2,ERuntimeMeshVertexTangentBasisType::Default,ERuntimeMeshVertexUVType::HighPrecision>': class has virtual functions, but destructor is not virtual
         instances of this class may not be destructed correctly
e:\unreal projects\procedural\plugins\runtimemeshcomponent_v2.0\source\runtimemeshcomponent\public\RuntimeMeshGenericVertex.h(1250): note: see reference to class template instantiation 'FRuntimeMeshVertexTypeInfo_GenericVertex<true,true,true,true,2,ERuntimeMeshVertexTangentBasisType::Default,ERuntimeMeshVertexUVType::HighPrecision>' being compiled
e:\unreal projects\procedural\plugins\runtimemeshcomponent_v2.0\source\runtimemeshcomponent\public\RuntimeMeshGenericVertex.h(1250): warning C4265: 'FRuntimeMeshVertexTypeInfo_FRuntimeMeshVertexDualUV': class has virtual functions, but destructor is not virtual
         instances of this class may not be destructed correctly
e:\unreal projects\procedural\plugins\runtimemeshcomponent_v2.0\source\runtimemeshcomponent\public\RuntimeMeshGenericVertex.h(551): warning C4265: 'FRuntimeMeshVertexTypeInfo_GenericVertex<false,true,true,true,1,ERuntimeMeshVertexTangentBasisType::Default,ERuntimeMeshVertexUVType::HighPrecision>': class has virtual functions, but destructor is not virtual
         instances of this class may not be destructed correctly
e:\unreal projects\procedural\plugins\runtimemeshcomponent_v2.0\source\runtimemeshcomponent\public\RuntimeMeshGenericVertex.h(1253): note: see reference to class template instantiation 'FRuntimeMeshVertexTypeInfo_GenericVertex<false,true,true,true,1,ERuntimeMeshVertexTangentBasisType::Default,ERuntimeMeshVertexUVType::HighPrecision>' being compiled
e:\unreal projects\procedural\plugins\runtimemeshcomponent_v2.0\source\runtimemeshcomponent\public\RuntimeMeshGenericVertex.h(1253): warning C4265: 'FRuntimeMeshVertexTypeInfo_FRuntimeMeshVertexNoPosition': class has virtual functions, but destructor is not virtual
         instances of this class may not be destructed correctly
e:\unreal projects\procedural\plugins\runtimemeshcomponent_v2.0\source\runtimemeshcomponent\public\RuntimeMeshGenericVertex.h(551): warning C4265: 'FRuntimeMeshVertexTypeInfo_GenericVertex<false,true,true,true,2,ERuntimeMeshVertexTangentBasisType::Default,ERuntimeMeshVertexUVType::HighPrecision>': class has virtual functions, but destructor is not virtual
         instances of this class may not be destructed correctly
e:\unreal projects\procedural\plugins\runtimemeshcomponent_v2.0\source\runtimemeshcomponent\public\RuntimeMeshGenericVertex.h(1256): note: see reference to class template instantiation 'FRuntimeMeshVertexTypeInfo_GenericVertex<false,true,true,true,2,ERuntimeMeshVertexTangentBasisType::Default,ERuntimeMeshVertexUVType::HighPrecision>' being compiled
e:\unreal projects\procedural\plugins\runtimemeshcomponent_v2.0\source\runtimemeshcomponent\public\RuntimeMeshGenericVertex.h(1256): warning C4265: 'FRuntimeMeshVertexTypeInfo_FRuntimeMeshVertexNoPositionDualUV': class has virtual functions, but destructor is not virtual
         instances of this class may not be destructed correctly
e:\unreal projects\procedural\plugins\runtimemeshcomponent_v2.0\source\runtimemeshcomponent\public\RuntimeMeshGenericVertex.h(551): warning C4265: 'FRuntimeMeshVertexTypeInfo_GenericVertex<true,true,true,true,1,ERuntimeMeshVertexTangentBasisType::HighPrecision,ERuntimeMeshVertexUVType::HighPrecision>': class has virtual functions, but destructor is not virtual
         instances of this class may not be destructed correctly
e:\unreal projects\procedural\plugins\runtimemeshcomponent_v2.0\source\runtimemeshcomponent\public\RuntimeMeshGenericVertex.h(1259): note: see reference to class template instantiation 'FRuntimeMeshVertexTypeInfo_GenericVertex<true,true,true,true,1,ERuntimeMeshVertexTangentBasisType::HighPrecision,ERuntimeMeshVertexUVType::HighPrecision>' being compiled
e:\unreal projects\procedural\plugins\runtimemeshcomponent_v2.0\source\runtimemeshcomponent\public\RuntimeMeshGenericVertex.h(1259): warning C4265: 'FRuntimeMeshVertexTypeInfo_FRuntimeMeshVertexHiPrecisionNormals': class has virtual functions, but destructor is not virtual
         instances of this class may not be destructed correctly
e:\unreal projects\procedural\plugins\runtimemeshcomponent_v2.0\source\runtimemeshcomponent\public\RuntimeMeshGenericVertex.h(551): warning C4265: 'FRuntimeMeshVertexTypeInfo_GenericVertex<true,true,true,true,2,ERuntimeMeshVertexTangentBasisType::HighPrecision,ERuntimeMeshVertexUVType::HighPrecision>': class has virtual functions, but destructor is not virtual
         instances of this class may not be destructed correctly
e:\unreal projects\procedural\plugins\runtimemeshcomponent_v2.0\source\runtimemeshcomponent\public\RuntimeMeshGenericVertex.h(1262): note: see reference to class template instantiation 'FRuntimeMeshVertexTypeInfo_GenericVertex<true,true,true,true,2,ERuntimeMeshVertexTangentBasisType::HighPrecision,ERuntimeMeshVertexUVType::HighPrecision>' being compiled
e:\unreal projects\procedural\plugins\runtimemeshcomponent_v2.0\source\runtimemeshcomponent\public\RuntimeMeshGenericVertex.h(1262): warning C4265: 'FRuntimeMeshVertexTypeInfo_FRuntimeMeshVertexDualUVHiPrecisionNormals': class has virtual functions, but destructor is not virtual
         instances of this class may not be destructed correctly
e:\unreal projects\procedural\plugins\runtimemeshcomponent_v2.0\source\runtimemeshcomponent\public\RuntimeMeshGenericVertex.h(551): warning C4265: 'FRuntimeMeshVertexTypeInfo_GenericVertex<false,true,true,true,1,ERuntimeMeshVertexTangentBasisType::HighPrecision,ERuntimeMeshVertexUVType::HighPrecision>': class has virtual functions, but destructor is not virtual
         instances of this class may not be destructed correctly
e:\unreal projects\procedural\plugins\runtimemeshcomponent_v2.0\source\runtimemeshcomponent\public\RuntimeMeshGenericVertex.h(1265): note: see reference to class template instantiation 'FRuntimeMeshVertexTypeInfo_GenericVertex<false,true,true,true,1,ERuntimeMeshVertexTangentBasisType::HighPrecision,ERuntimeMeshVertexUVType::HighPrecision>' being compiled
e:\unreal projects\procedural\plugins\runtimemeshcomponent_v2.0\source\runtimemeshcomponent\public\RuntimeMeshGenericVertex.h(1265): warning C4265: 'FRuntimeMeshVertexTypeInfo_FRuntimeMeshVertexNoPositionHiPrecisionNormals': class has virtual functions, but destructor is not virtual
         instances of this class may not be destructed correctly
e:\unreal projects\procedural\plugins\runtimemeshcomponent_v2.0\source\runtimemeshcomponent\public\RuntimeMeshGenericVertex.h(551): warning C4265: 'FRuntimeMeshVertexTypeInfo_GenericVertex<false,true,true,true,2,ERuntimeMeshVertexTangentBasisType::HighPrecision,ERuntimeMeshVertexUVType::HighPrecision>': class has virtual functions, but destructor is not virtual
         instances of this class may not be destructed correctly
e:\unreal projects\procedural\plugins\runtimemeshcomponent_v2.0\source\runtimemeshcomponent\public\RuntimeMeshGenericVertex.h(1268): note: see reference to class template instantiation 'FRuntimeMeshVertexTypeInfo_GenericVertex<false,true,true,true,2,ERuntimeMeshVertexTangentBasisType::HighPrecision,ERuntimeMeshVertexUVType::HighPrecision>' being compiled
e:\unreal projects\procedural\plugins\runtimemeshcomponent_v2.0\source\runtimemeshcomponent\public\RuntimeMeshGenericVertex.h(1268): warning C4265: 'FRuntimeMeshVertexTypeInfo_FRuntimeMeshVertexNoPositionDualUVHiPrecisionNormals': class has virtual functions, but destructor is not virtual
         instances of this class may not be destructed correctly
e:\unreal projects\procedural\plugins\runtimemeshcomponent_v2.0\source\runtimemeshcomponent\public\RuntimeMeshSection.h(49): warning C4996: 'FBox::FBox': Use ForceInit constructor instead. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
e:\unreal\ue_4.17\engine\source\runtime\core\public\Math/Box.h(36): note: see declaration of 'FBox::FBox'
e:\unreal projects\procedural\plugins\runtimemeshcomponent_v2.0\source\runtimemeshcomponent\public\RuntimeMeshSection.h(69): warning C4996: 'FBox::FBox': Use ForceInit constructor instead. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
e:\unreal\ue_4.17\engine\source\runtime\core\public\Math/Box.h(36): note: see declaration of 'FBox::FBox'
E:\Unreal\UE_4.17\Engine\Source\Runtime\CoreUObject\Public\UObject/Class.h(655): error C2280: 'FRuntimeMeshComponentPrePhysicsTickFunction &FRuntimeMeshComponentPrePhysicsTickFunction::operator =(const FRuntimeMeshComponentPrePhysicsTickFunction &)': attempting to reference a deleted function
E:\Unreal Projects\Procedural\Plugins\RuntimeMeshComponent_v2.0\Source\RuntimeMeshComponent\Public\RuntimeMeshComponent.h(69): note: compiler has generated 'FRuntimeMeshComponentPrePhysicsTickFunction::operator =' here
E:\Unreal\UE_4.17\Engine\Source\Runtime\CoreUObject\Public\UObject/Class.h(990): note: see reference to function template instantiation 'bool CopyOrNot<CPPSTRUCT>(CPPSTRUCT *,const CPPSTRUCT *,int32)' being compiled
        with
        
            CPPSTRUCT=FRuntimeMeshComponentPrePhysicsTickFunction
        ]
E:\Unreal\UE_4.17\Engine\Source\Runtime\CoreUObject\Public\UObject/Class.h(989): note: while compiling class template member function 'bool UScriptStruct::TCppStructOps<FRuntimeMeshComponentPrePhysicsTickFunction>::Copy(void *,const void *,int32)'
E:\Unreal Projects\Procedural\Plugins\RuntimeMeshComponent_v2.0\Intermediate\Build\Win64\UE4Editor\Inc\RuntimeMeshComponent\RuntimeMeshComponent.gen.cpp(74): note: see reference to class template instantiation 'UScriptStruct::TCppStructOps<FRuntimeMeshComponentPrePhysicsTickFunction>' being compiled
E:\Unreal Projects\Procedural\Plugins\RuntimeMeshComponent_v2.0\Source\RuntimeMeshComponent\Public\RuntimeMeshComponent.h(69): note: 'FRuntimeMeshComponentPrePhysicsTickFunction &FRuntimeMeshComponentPrePhysicsTickFunction::operator =(const FRuntimeMeshComponentPrePhysicsTickFunction &)': function was implicitly deleted because a base class invokes a deleted or inaccessible function 'FTickFunction &FTickFunction::operator =(const FTickFunction &)'
e:\unreal projects\procedural\plugins\runtimemeshcomponent_v2.0\source\runtimemeshcomponent\public\RuntimeMeshCore.h(362): warning C4265: 'FRuntimeMeshVertexTypeInfo': class has virtual functions, but destructor is not virtual
         instances of this class may not be destructed correctly
e:\unreal projects\procedural\plugins\runtimemeshcomponent_v2.0\source\runtimemeshcomponent\public\RuntimeMeshGenericVertex.h(551): warning C4265: 'FRuntimeMeshVertexTypeInfo_GenericVertex<true,true,true,true,1,ERuntimeMeshVertexTangentBasisType::Default,ERuntimeMeshVertexUVType::HighPrecision>': class has virtual functions, but destructor is not virtual
         instances of this class may not be destructed correctly
e:\unreal projects\procedural\plugins\runtimemeshcomponent_v2.0\source\runtimemeshcomponent\public\RuntimeMeshGenericVertex.h(1247): note: see reference to class template instantiation 'FRuntimeMeshVertexTypeInfo_GenericVertex<true,true,true,true,1,ERuntimeMeshVertexTangentBasisType::Default,ERuntimeMeshVertexUVType::HighPrecision>' being compiled
e:\unreal projects\procedural\plugins\runtimemeshcomponent_v2.0\source\runtimemeshcomponent\public\RuntimeMeshGenericVertex.h(1247): warning C4265: 'FRuntimeMeshVertexTypeInfo_FRuntimeMeshVertexSimple': class has virtual functions, but destructor is not virtual
         instances of this class may not be destructed correctly
e:\unreal projects\procedural\plugins\runtimemeshcomponent_v2.0\source\runtimemeshcomponent\public\RuntimeMeshGenericVertex.h(551): warning C4265: 'FRuntimeMeshVertexTypeInfo_GenericVertex<true,true,true,true,2,ERuntimeMeshVertexTangentBasisType::Default,ERuntimeMeshVertexUVType::HighPrecision>': class has virtual functions, but destructor is not virtual
         instances of this class may not be destructed correctly
e:\unreal projects\procedural\plugins\runtimemeshcomponent_v2.0\source\runtimemeshcomponent\public\RuntimeMeshGenericVertex.h(1250): note: see reference to class template instantiation 'FRuntimeMeshVertexTypeInfo_GenericVertex<true,true,true,true,2,ERuntimeMeshVertexTangentBasisType::Default,ERuntimeMeshVertexUVType::HighPrecision>' being compiled
e:\unreal projects\procedural\plugins\runtimemeshcomponent_v2.0\source\runtimemeshcomponent\public\RuntimeMeshGenericVertex.h(1250): warning C4265: 'FRuntimeMeshVertexTypeInfo_FRuntimeMeshVertexDualUV': class has virtual functions, but destructor is not virtual
         instances of this class may not be destructed correctly
e:\unreal projects\procedural\plugins\runtimemeshcomponent_v2.0\source\runtimemeshcomponent\public\RuntimeMeshGenericVertex.h(551): warning C4265: 'FRuntimeMeshVertexTypeInfo_GenericVertex<false,true,true,true,1,ERuntimeMeshVertexTangentBasisType::Default,ERuntimeMeshVertexUVType::HighPrecision>': class has virtual functions, but destructor is not virtual
         instances of this class may not be destructed correctly
e:\unreal projects\procedural\plugins\runtimemeshcomponent_v2.0\source\runtimemeshcomponent\public\RuntimeMeshGenericVertex.h(1253): note: see reference to class template instantiation 'FRuntimeMeshVertexTypeInfo_GenericVertex<false,true,true,true,1,ERuntimeMeshVertexTangentBasisType::Default,ERuntimeMeshVertexUVType::HighPrecision>' being compiled
e:\unreal projects\procedural\plugins\runtimemeshcomponent_v2.0\source\runtimemeshcomponent\public\RuntimeMeshGenericVertex.h(1253): warning C4265: 'FRuntimeMeshVertexTypeInfo_FRuntimeMeshVertexNoPosition': class has virtual functions, but destructor is not virtual
         instances of this class may not be destructed correctly
e:\unreal projects\procedural\plugins\runtimemeshcomponent_v2.0\source\runtimemeshcomponent\public\RuntimeMeshGenericVertex.h(551): warning C4265: 'FRuntimeMeshVertexTypeInfo_GenericVertex<false,true,true,true,2,ERuntimeMeshVertexTangentBasisType::Default,ERuntimeMeshVertexUVType::HighPrecision>': class has virtual functions, but destructor is not virtual
         instances of this class may not be destructed correctly
e:\unreal projects\procedural\plugins\runtimemeshcomponent_v2.0\source\runtimemeshcomponent\public\RuntimeMeshGenericVertex.h(1256): note: see reference to class template instantiation 'FRuntimeMeshVertexTypeInfo_GenericVertex<false,true,true,true,2,ERuntimeMeshVertexTangentBasisType::Default,ERuntimeMeshVertexUVType::HighPrecision>' being compiled
e:\unreal projects\procedural\plugins\runtimemeshcomponent_v2.0\source\runtimemeshcomponent\public\RuntimeMeshGenericVertex.h(1256): warning C4265: 'FRuntimeMeshVertexTypeInfo_FRuntimeMeshVertexNoPositionDualUV': class has virtual functions, but destructor is not virtual
         instances of this class may not be destructed correctly
e:\unreal projects\procedural\plugins\runtimemeshcomponent_v2.0\source\runtimemeshcomponent\public\RuntimeMeshGenericVertex.h(551): warning C4265: 'FRuntimeMeshVertexTypeInfo_GenericVertex<true,true,true,true,1,ERuntimeMeshVertexTangentBasisType::HighPrecision,ERuntimeMeshVertexUVType::HighPrecision>': class has virtual functions, but destructor is not virtual
         instances of this class may not be destructed correctly
e:\unreal projects\procedural\plugins\runtimemeshcomponent_v2.0\source\runtimemeshcomponent\public\RuntimeMeshGenericVertex.h(1259): note: see reference to class template instantiation 'FRuntimeMeshVertexTypeInfo_GenericVertex<true,true,true,true,1,ERuntimeMeshVertexTangentBasisType::HighPrecision,ERuntimeMeshVertexUVType::HighPrecision>' being compiled
e:\unreal projects\procedural\plugins\runtimemeshcomponent_v2.0\source\runtimemeshcomponent\public\RuntimeMeshGenericVertex.h(1259): warning C4265: 'FRuntimeMeshVertexTypeInfo_FRuntimeMeshVertexHiPrecisionNormals': class has virtual functions, but destructor is not virtual
         instances of this class may not be destructed correctly
e:\unreal projects\procedural\plugins\runtimemeshcomponent_v2.0\source\runtimemeshcomponent\public\RuntimeMeshGenericVertex.h(551): warning C4265: 'FRuntimeMeshVertexTypeInfo_GenericVertex<true,true,true,true,2,ERuntimeMeshVertexTangentBasisType::HighPrecision,ERuntimeMeshVertexUVType::HighPrecision>': class has virtual functions, but destructor is not virtual
         instances of this class may not be destructed correctly
e:\unreal projects\procedural\plugins\runtimemeshcomponent_v2.0\source\runtimemeshcomponent\public\RuntimeMeshGenericVertex.h(1262): note: see reference to class template instantiation 'FRuntimeMeshVertexTypeInfo_GenericVertex<true,true,true,true,2,ERuntimeMeshVertexTangentBasisType::HighPrecision,ERuntimeMeshVertexUVType::HighPrecision>' being compiled
e:\unreal projects\procedural\plugins\runtimemeshcomponent_v2.0\source\runtimemeshcomponent\public\RuntimeMeshGenericVertex.h(1262): warning C4265: 'FRuntimeMeshVertexTypeInfo_FRuntimeMeshVertexDualUVHiPrecisionNormals': class has virtual functions, but destructor is not virtual
         instances of this class may not be destructed correctly
e:\unreal projects\procedural\plugins\runtimemeshcomponent_v2.0\source\runtimemeshcomponent\public\RuntimeMeshGenericVertex.h(551): warning C4265: 'FRuntimeMeshVertexTypeInfo_GenericVertex<false,true,true,true,1,ERuntimeMeshVertexTangentBasisType::HighPrecision,ERuntimeMeshVertexUVType::HighPrecision>': class has virtual functions, but destructor is not virtual
         instances of this class may not be destructed correctly
e:\unreal projects\procedural\plugins\runtimemeshcomponent_v2.0\source\runtimemeshcomponent\public\RuntimeMeshGenericVertex.h(1265): note: see reference to class template instantiation 'FRuntimeMeshVertexTypeInfo_GenericVertex<false,true,true,true,1,ERuntimeMeshVertexTangentBasisType::HighPrecision,ERuntimeMeshVertexUVType::HighPrecision>' being compiled
e:\unreal projects\procedural\plugins\runtimemeshcomponent_v2.0\source\runtimemeshcomponent\public\RuntimeMeshGenericVertex.h(1265): warning C4265: 'FRuntimeMeshVertexTypeInfo_FRuntimeMeshVertexNoPositionHiPrecisionNormals': class has virtual functions, but destructor is not virtual
         instances of this class may not be destructed correctly
e:\unreal projects\procedural\plugins\runtimemeshcomponent_v2.0\source\runtimemeshcomponent\public\RuntimeMeshGenericVertex.h(551): warning C4265: 'FRuntimeMeshVertexTypeInfo_GenericVertex<false,true,true,true,2,ERuntimeMeshVertexTangentBasisType::HighPrecision,ERuntimeMeshVertexUVType::HighPrecision>': class has virtual functions, but destructor is not virtual
         instances of this class may not be destructed correctly
e:\unreal projects\procedural\plugins\runtimemeshcomponent_v2.0\source\runtimemeshcomponent\public\RuntimeMeshGenericVertex.h(1268): note: see reference to class template instantiation 'FRuntimeMeshVertexTypeInfo_GenericVertex<false,true,true,true,2,ERuntimeMeshVertexTangentBasisType::HighPrecision,ERuntimeMeshVertexUVType::HighPrecision>' being compiled
e:\unreal projects\procedural\plugins\runtimemeshcomponent_v2.0\source\runtimemeshcomponent\public\RuntimeMeshGenericVertex.h(1268): warning C4265: 'FRuntimeMeshVertexTypeInfo_FRuntimeMeshVertexNoPositionDualUVHiPrecisionNormals': class has virtual functions, but destructor is not virtual
         instances of this class may not be destructed correctly
e:\unreal projects\procedural\plugins\runtimemeshcomponent_v2.0\source\runtimemeshcomponent\public\RuntimeMeshSection.h(49): warning C4996: 'FBox::FBox': Use ForceInit constructor instead. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
e:\unreal\ue_4.17\engine\source\runtime\core\public\Math/Box.h(36): note: see declaration of 'FBox::FBox'
e:\unreal projects\procedural\plugins\runtimemeshcomponent_v2.0\source\runtimemeshcomponent\public\RuntimeMeshSection.h(69): warning C4996: 'FBox::FBox': Use ForceInit constructor instead. Please update your code to the new API before upgrading to the next release, otherwise your project will no longer compile.
e:\unreal\ue_4.17\engine\source\runtime\core\public\Math/Box.h(36): note: see declaration of 'FBox::FBox'
e:\unreal projects\procedural\plugins\runtimemeshcomponent_v2.0\source\runtimemeshcomponenteditor\private\RuntimeMeshComponentDetails.h(7): error C2504: 'IDetailCustomization': base class undefined
e:\unreal projects\procedural\plugins\runtimemeshcomponent_v2.0\source\runtimemeshcomponenteditor\private\RuntimeMeshComponentDetails.h(13): error C3668: 'FRuntimeMeshComponentDetails::CustomizeDetails': method with override specifier 'override' did not override any base class methods
e:\unreal projects\procedural\plugins\runtimemeshcomponent_v2.0\source\runtimemeshcomponenteditor\private\RuntimeMeshComponentDetails.h(26): warning C4265: 'FRuntimeMeshComponentDetails': class has virtual functions, but destructor is not virtual
         instances of this class may not be destructed correctly
E:\Unreal Projects\Procedural\Plugins\RuntimeMeshComponent_v2.0\Source\RuntimeMeshComponentEditor\Private\RuntimeMeshComponentDetails.cpp(16): error C2440: 'return': cannot convert from 'SharedPointerInternals::FRawPtrProxy<FRuntimeMeshComponentDetails>' to 'TSharedRef<IDetailCustomization,0>'
E:\Unreal Projects\Procedural\Plugins\RuntimeMeshComponent_v2.0\Source\RuntimeMeshComponentEditor\Private\RuntimeMeshComponentDetails.cpp(16): note: No user-defined-conversion operator available that can perform this conversion, or the operator cannot be called
ERROR: UBT ERROR: Failed to produce item: E:\Unreal Projects\Procedural\Plugins\RuntimeMeshComponent_v2.0\Intermediate\Build\Win64\UE4Editor\Development\UE4Editor-RuntimeMeshComponent.lib
Total build time: 19.82 seconds (Local executor: 0.00 seconds)
LogInit: Warning: Still incompatible or missing module: UE4Editor-RuntimeMeshComponent.dll
LogInit: Warning: Still incompatible or missing module: UE4Editor-RuntimeMeshComponentEditor.dll
LogExit: Preparing to exit.
LogModuleManager: Shutting down and abandoning module DesktopPlatform (38)
LogModuleManager: Shutting down and abandoning module AnimationModifiers (36)
LogModuleManager: Shutting down and abandoning module PropertyEditor (35)
LogModuleManager: Shutting down and abandoning module AudioEditor (32)
LogModuleManager: Shutting down and abandoning module TextureCompressor (30)
LogModuleManager: Shutting down and abandoning module ShaderCore (28)
LogModuleManager: Shutting down and abandoning module Landscape (26)
LogModuleManager: Shutting down and abandoning module SlateRHIRenderer (24)
LogModuleManager: Shutting down and abandoning module OpenGLDrv (22)
LogModuleManager: Shutting down and abandoning module D3D11RHI (20)
LogModuleManager: Shutting down and abandoning module AnimGraphRuntime (18)
LogModuleManager: Shutting down and abandoning module Renderer (16)
LogModuleManager: Shutting down and abandoning module Engine (14)
LogModuleManager: Shutting down and abandoning module CoreUObject (12)
LogModuleManager: Shutting down and abandoning module NetworkFile (10)
LogModuleManager: Shutting down and abandoning module CookedIterativeFile (8)
LogModuleManager: Shutting down and abandoning module StreamingFile (6)
LogModuleManager: Shutting down and abandoning module SandboxFile (4)
LogModuleManager: Shutting down and abandoning module PakFile (2)
LogExit: Exiting.
Log file closed, 01/17/18 03:04:01


4.16.3cannot compileļ¼Œ please helpļ½ž

Has anyone managed to build for 4.19 preview?

Edit; running on 4.17 now due to the visual studio loading bug in 4.18.

Hello everyone! So I said Iā€™d have more of an update for you soon, and today would be that day!

As of a few minutes ago Version 3 was pushed to a separate branch in the GitHub repo. It is expected that thereā€™s going to be bugs in this, so I wouldnā€™t recommend jumping to it for a critical project. It is a 100% rewrite of the core component, and brings a few major changes to how it fundamentally works. Iā€™ll be updating the examples project/wiki as I have some time.

There are several breaking changes in this version, and several deprecated functions. the Readme on the GH repo has more information on what has changed.

For right now the RMC will only have collision cooked correctly in packaged games if it is set to async mode due to an apparent engine bug.

I will be closing all outstanding issues/prs on the GH repo. I thank all of you that have reported issues or submitted things, but as this is a total rewrite nearly none of it will directly apply to this version. If you find problems, or have suggestions, as always feel free to post them to the GH issue tracker.

You can check out V3 beta here: https://github.com//RuntimeMeshComponent/tree/Version3Dev

Did some include fixes in V3 :slight_smile:

You probably have unity build on which hides these errors.

Awesome! Canā€™t wait to try it out.
For a project Iā€™m currently still on v2, when I do runtimeMesh->CreateMeshSection I can compile perfectly but intellisense complains that ā€œpointer to incomplete class is not allowedā€ so I canā€™t use intellisense. Is there anything I can include to make it work correctly?

Yeah youā€™re missing an include. I donā€™t know what one exactly, I use Visual Assist so it tells me :smiley: