So is this a good idea to use soft pointers for referencing meshes in RCP?
Hi there, was wondering if anyone else has run into an issue with the sidewalk components generating bad collisions? refer to image below:
It seems that the the collider for the sidewalks spawns the collision significantly higher than the position of the actual mesh cause unpassable barriers that arent connected to the ground preventing my player character from being able to walk over them. If anyone else has run into this issue and found a fix, would be greatly appreciated if you could share your feedback.
I have made attempts to increase step height, generate my own collisions on all the sidewalk meshes, manually force the assets in the blueprints to have âCan Character Step Up Onâ set to true and the last option I have left to try is to bake the road into a static mesh, but I dont want to loose the ability to edit the roads if need be.
Thanks again, any help at all would be greatly appreciated.
Sad to hear that.
I had report about similar problem, which was solved by merging actor.
I was not able to replicate the problem. I tried rotating/tilting/bending road in UE5.2 and UE5.6 and for me collision was always fine.
Is there something specific about that road that causes collision issue?
Just to clarify, I decided to do a full asset audit purely as an architectural and performance optimization: in large-scale software development, keeping RAM/VRAM light and avoiding the accumulation of unnecessary references is simply standard practice.
Soft Object References: I replaced hard references to meshes and materials with Soft Pointers (asynchronously loading only whatâs actually used) so that Unreal doesnât force every unused resource into RAM/VRAM in packaged builds. Imagine a large map with hundreds of roads that loads 20 different road styles plus all the dynamic components (guardrails, fences, lampposts, etc.) into memory when a single segment uses a single road type and two components. ⌠![]()
Explicit Component Cleanup: I added logic to save generated components in an array and explicitly destroy them before rebuilding. Although the Construction Script automatically resets default variables, dynamically added SplineMeshComponents in loops are at risk of not being removed correctly, causing the Actor to accumulate duplicate and hidden components in memory every time a node is dragged.
Mathematical Loop Optimization: I fixed several loops that were causing significant computational overhead, eliminating latency and viewport stuttering when dragging road networks.
I ended up rewriting the entire system in C++, as thatâs my personal preference for the core architecture.
I improved the class architecture to be more organized into subsystems, so as not to have one huge blueprint that does everything.
Iâm no longer using this system in an active project because Iâve moved on to something else, but Iâd strongly recommend considering a Baking System for the future: converting the final spline meshes to unified Static Meshes would give users a huge boost in in-game performance, reducing draw calls and eliminating Construction Script overhead in distributed builds.
In my opinion, this is a necessary solution that absolutely needs to be managed. Everyone is free to choose how and how much to improve their project. This is certainly necessary for large and complex projects.
I just wanted to share this feedback in case youâre interested in bringing these structural improvements to the base asset for future users.
Good luck with the asset!
p.s. The screenshot doesnât show anything special, just the organization of the source. XD
I canât show anything else because this project is shelved in a repo, and Iâm sorry, I donât plan on downloading hundreds of gigabytes locally. But if the owner is interested, they can contact me and we can discuss a possible fork.
Hi! That is interesting!
Soft Object References - yes, I need to add that to RCP. I need some time to do that.
Explicit Component Cleanup - is this even possible to destroy all components before rebuilding? I mean with blueprints. You did it with C++.
Mathematical Loop Optimization - wow! It would be very intersting to see places of BP that can be optimized that much!
I ended up rewriting the entire system in C++ - how many time it took? I guess it took long.
Baking System - why not use Merge Actors tool? It successfully converts RCP BP to SM.
How can I contact you? Even better, contact me through Discord!


