Hi @Jedd,
we are thinking of migrating to UE5. What features are missing from Speckle UE5 vs Speckle UE4 connector ?
Best,
Dimitrios
Hi @Jedd,
we are thinking of migrating to UE5. What features are missing from Speckle UE5 vs Speckle UE4 connector ?
Best,
Dimitrios
Everything should work in UE5 just as well as UE4 with one exception,
if you receive meshes in a standalone built application (i.e. without the editor), there is a UE5 specific bug with the way the mesh gets built that causes some graphics artifacting.
I’ve reported this issue to Unreal during UE5’s preview, and they could reproduce then, but I’ve had no from them updates since.
I will try and follow up today with our UE contacts to get an update.
This only happens when you create static meshes without the editor only build processes.
Using the procedural mesh converter might be an acceptable workaround.
Looks like the aforementioned issue has already been resolved by Epic!
I’ve just tested in UE 5.0.1 and runtime receiving works perfectly now!
To adjust my answer then. Versions 4.26, 4.27, and 5.0 are officially supported by us and our plugin should work effective identically on any of these versions.
However, since UE5 is so new, and with each patch, there seems to be lots of small changes from Epic, there may be some extra bugs. (so please report to us any that you find!)
Thanks Jedd,
in UE5, I have to managed to pull some very simple meshes. Hurray !
However, I have tried to pull some old commits with complicated meshes but it crashes. I guess, I have to do new commits using the most recent Speckle Rhino connector. I will let you know.
Best,
Dimitrios
Ok,
Please keep me updated.
If you are finding that new commits lead to crashes then please let me know!!
Hi, I have installed Rh Connector 2.5.1 and it sends successfully a commit with some meshes to Speckle DB.
Stream id: a18f8c8569
Object id: 159fe6c2856738505027a314f408fa55
However, Speckle Connector in UE5 crashes when fetching meshes. Smth goes wrong in conversion.
Can you check this stream id/object id ?
Report by UE5
Assertion failed: !bExists [File:D:\build++UE5\Sync\Engine\Source\Runtime\MeshDescription\Private\MeshElementIndexer.cpp] [Line: 584]
UnrealEditor_MeshDescription
UnrealEditor_MeshDescription
UnrealEditor_MeshDescription
UnrealEditor_MeshDescription
UnrealEditor_MeshDescription
UnrealEditor_SpeckleUnreal!UStaticMeshConverter::MeshesToNativeMesh() [C:\UE5\MyTestBed\Plugins\speckle-unreal\Source\SpeckleUnreal\Private\Conversion\Converters\StaticMeshConverter.cpp:303]
UnrealEditor_SpeckleUnreal!UStaticMeshConverter::MeshesToNativeActor() [C:\UE5\MyTestBed\Plugins\speckle-unreal\Source\SpeckleUnreal\Private\Conversion\Converters\StaticMeshConverter.cpp:93]
UnrealEditor_SpeckleUnreal!UStaticMeshConverter::MeshToNativeActor() [C:\UE5\MyTestBed\Plugins\speckle-unreal\Source\SpeckleUnreal\Private\Conversion\Converters\StaticMeshConverter.cpp:75]
UnrealEditor_SpeckleUnreal!UStaticMeshConverter::ConvertToNative_Implementation() [C:\UE5\MyTestBed\Plugins\speckle-unreal\Source\SpeckleUnreal\Private\Conversion\Converters\StaticMeshConverter.cpp:58]
UnrealEditor_SpeckleUnreal!ISpeckleConverter::execConvertToNative() [C:\UE5\MyTestBed\Plugins\speckle-unreal\Intermediate\Build\Win64\UnrealEditor\Inc\SpeckleUnreal\SpeckleConverter.gen.cpp:45]
UnrealEditor_CoreUObject
UnrealEditor_CoreUObject
UnrealEditor_SpeckleUnreal!ISpeckleConverter::Execute_ConvertToNative() [C:\UE5\MyTestBed\Plugins\speckle-unreal\Intermediate\Build\Win64\UnrealEditor\Inc\SpeckleUnreal\SpeckleConverter.gen.cpp:333]
UnrealEditor_SpeckleUnreal!UAggregateConverter::ConvertToNativeInternal() [C:\UE5\MyTestBed\Plugins\speckle-unreal\Source\SpeckleUnreal\Private\Conversion\Converters\AggregateConverter.cpp:74]
UnrealEditor_SpeckleUnreal!USpeckleConverterComponent::RecursivelyConvertToNative_Internal() [C:\UE5\MyTestBed\Plugins\speckle-unreal\Source\SpeckleUnreal\Private\Conversion\SpeckleConverterComponent.cpp:66]
UnrealEditor_SpeckleUnreal!USpeckleConverterComponent::ConvertChildren() [C:\UE5\MyTestBed\Plugins\speckle-unreal\Source\SpeckleUnreal\Private\Conversion\SpeckleConverterComponent.cpp:111]
UnrealEditor_SpeckleUnreal!USpeckleConverterComponent::RecursivelyConvertToNative_Internal() [C:\UE5\MyTestBed\Plugins\speckle-unreal\Source\SpeckleUnreal\Private\Conversion\SpeckleConverterComponent.cpp:83]
UnrealEditor_SpeckleUnreal!USpeckleConverterComponent::RecursivelyConvertToNative() [C:\UE5\MyTestBed\Plugins\speckle-unreal\Source\SpeckleUnreal\Private\Conversion\SpeckleConverterComponent.cpp:51]
UnrealEditor_SpeckleUnreal!USpeckleConverterComponent::execRecursivelyConvertToNative() [C:\UE5\MyTestBed\Plugins\speckle-unreal\Intermediate\Build\Win64\UnrealEditor\Inc\SpeckleUnreal\SpeckleConverterComponent.gen.cpp:48]
UnrealEditor_CoreUObject
UnrealEditor_CoreUObject
UnrealEditor_CoreUObject
UnrealEditor_CoreUObject
UnrealEditor_CoreUObject
UnrealEditor_CoreUObject
UnrealEditor_CoreUObject
UnrealEditor_CoreUObject
UnrealEditor_CoreUObject
UnrealEditor_CoreUObject
UnrealEditor_CoreUObject
UnrealEditor_Engine
UnrealEditor_SpeckleUnreal!TMulticastScriptDelegate::ProcessMulticastDelegate() [C:\Program Files\Epic Games\UE_5.0\Engine\Source\Runtime\Core\Public\UObject\ScriptDelegates.h:488]
UnrealEditor_SpeckleUnreal!FRecieveOperationHandler::Broadcast() [C:\UE5\MyTestBed\Plugins\speckle-unreal\Source\SpeckleUnreal\Public\API\Operations\ReceiveOperation.h:14]
UnrealEditor_SpeckleUnreal!UReceiveOperation::HandleReceive() [C:\UE5\MyTestBed\Plugins\speckle-unreal\Source\SpeckleUnreal\Private\API\Operations\ReceiveOperation.cpp:81]
UnrealEditor_SpeckleUnreal!TBaseUObjectMethodDelegateInstance<0,UReceiveOperation,void __cdecl(TSharedPtr<FJsonObject,1>),FDefaultDelegateUserPolicy>::ExecuteIfSafe() [C:\Program Files\Epic Games\UE_5.0\Engine\Source\Runtime\Core\Public\Delegates\DelegateInstancesImpl.h:609]
UnrealEditor_SpeckleUnreal!UServerTransport::FetchChildren() [C:\UE5\MyTestBed\Plugins\speckle-unreal\Source\SpeckleUnreal\Private\Transports\ServerTransport.cpp:94]
UnrealEditor_SpeckleUnreal!<lambda_5b5c650a9516cb90f5bb367005870275>::operator()() [C:\UE5\MyTestBed\Plugins\speckle-unreal\Source\SpeckleUnreal\Private\Transports\ServerTransport.cpp:177]
UnrealEditor_SpeckleUnreal!TBaseFunctorDelegateInstance<void __cdecl(TSharedPtr<IHttpRequest,1>,TSharedPtr<IHttpResponse,1>,bool),FDefaultDelegateUserPolicy,<lambda_5b5c650a9516cb90f5bb367005870275> >::ExecuteIfSafe() [C:\Program Files\Epic Games\UE_5.0\Engine\Source\Runtime\Core\Public\Delegates\DelegateInstancesImpl.h:836]
UnrealEditor_HTTP
UnrealEditor_HTTP
UnrealEditor_HTTP
UnrealEditor_Core
UnrealEditor_Core
UnrealEditor_Core
UnrealEditor_Core
UnrealEditor_Core
UnrealEditor
UnrealEditor
UnrealEditor
UnrealEditor
UnrealEditor
UnrealEditor
kernel32
ntdll
Hi, can you please send me the crash log (Saved/Logs/XXXX.log
)
and also make the stream public or add jedd@speckle[dot]systems as a collaborator.
I have added you.
Apart from all: http://speckle.xyz/ should become http://speckle.xyz
because it gives 404
I think the problem is in StaticMesh. It does not let me to select Procedural Mesh .
crashlog.txt (84.1 KB)
I can reproduce in UE5.
There are no issues in UE4, so I presume there have been some changes to the way UE5 builds meshes.
I’ll do some investigation, right now it’s not super clear whats is causing this issue.
In the meantime however, you can switch to using our ProceduralMeshConverter
I’ve tested and this works with your stream!
Hi, thanks, It works !
now I see it. The issue was in the documentation which led me to wrong pathway. I have followed the video tutorial that was suggesting to use the “Blueprint Receiving” example which does not have the option to change the mesh type. Probably it needs an update. The SpeckleManager is in C++ public folder which I didn’t check because I thought that the blueprint was the only way to go. The other issue was that nothing comes out when opening the popup. Instead, it was needed to double click that rectangle button to do what I want. However, in UE, I was used only to single click on such buttons.
Best,
Dimitrios
Hi Dimitrios,
I’ve managed to fix the crashing issue with static meshes in UE5 .
The fix is now on main
. Cheers for the help!
If you wanted, the option is actually there, but it’s a little more buried under the “SpeckleConverter” Component.
Our docs/tutorials could definitely benefit from some clarification!
But for now, I’d recommend sticking with the C++ SpeckleUnrealManager if you can.
Thanks Jedd I will check it out.
To tell the truth, I am actually diving into the code now as I have to find out how it matches our requirements, and how it can be extended for more custom objects.
I have seen the tutorial for Materials. Nice work. Now I see the docs and tutorial for developers (a video would be helpful here too, sadly there is no such
I have forked the code to a new repo in my personal account named as jimver04/speckle-unreal. For warming up, I am putting some comments on the code for easy reading it. I will make a pull request when finished.
A suggestion for the tutorial page: Unreal | Speckle Docs
An issue is that empty memory object should be casted to Transport interface, otherwise it can not be set (directly through suggestion mechanism) as a variable.
Best,
Dimitrios
Are you sure this is an issue here? I’m not sure any casting is needed, since MemoryTransport
directly implements ITransport
Yes! I agree, a video would be super helpful here.
I think I might wait until I have sending/ToSpeckle support completed.
Which may take a while so If you wanted a quick video discussion/demo/call to chat about this feature, that can be arranged!
Hi Jedd,
thanks for all the clarifications. I think it is more productive for the time being to speak through the forum. Our partner in the project, namely Mindesk has implemented a “commits pushing version” for the old speckle-unreal connector that I have to merge. So, the features next are
a) fetch list of Commits;
b) select Branch;
c) fetch Globals;
d) do a new commit;
e) do a new commit with custom fields.
Best,
Dimitrios