Download

how can i inherit from USplineComponent and place it in the world?

I have changed the USplineComponent as ENGINE_API and removed the MinimalAPI Specifier. when i create a class inherited from USplineComponent and build my game, it wont appears in Class viewer.

How can i solve this?

In UDK i had successfully inherited from SplineActor and used it to create climbable ledges.

I looked into adding splines to the world. Finally decided upon using a Matinee to create a spline, attach an actor to it, and then any other game code can simply look at that actor

I did briefly look into USplineComponent but what I had was a little hacky. In my Actor subclass I declared a SplineComponent. From there, I added a member to my’SplineActor’ to allow it to chain into other ‘SplineActors’. When a property changed on the root, it would rebuild the spline. But sadness ensued once I realized what UPrimitiveComponent does internally. It submits a primitive (our spline) to the multithreraded renderer. This proxy has a ‘copy’ of our spline data. This meant what I needed to do was put in some atomic locks or something so that it would be thread safe to render my ‘updated’ splineActor or something

I meant to look into how the LAndscape & Matinee system works but I decided this is out of scope for my ‘starter’ project. I want to focus on learning the gameplay systems (not Tools atm). So I put aside this work and decided to just use Matinee. It already has world splines plus you can tweak the 2d spline representation, etc. The work is already done for my purposes.

I believe they are still working on non-landscape splines, I had hoped it would have been fixed by now but apparently not yet.

That is correct, we are adding code to allow for component-specific in-level editing widgets, so you can add a SplineComponent to your BP, place the BP in the level, and edit the spline.

Thank you all.

When we see this feature in UE4?

Sweet this is good to know. :smiley: