Train, Rail and Roller Coaster System


**Demo Download (Includes all example maps) (Download Demo) **

**Current Status: Released (Marketplace Page) **

Price: $29,99

Version: 1.0.4 (last updated Jan 9th 2018)

Known issues: None

Documentation download (all functions, macros, events and components documented): TrainAndRail.pdf

Overview video: Trailer and Overview Video

Build complex or simple train tracks in minutes, then preview them instantly. Trains can be customized for any setup, look or feel.
Tracks are spline based, allowing you to setup complex meshes quickly. Also included is the terrain train track for quickly building tracks across uneven terrain.

Track triggers allow you to have trains or carriages fire events in the game world. Use triggers to create junctions that change, or level crossing barriers that lower as a train approaches, or leaves.
The mine cart comes with a custom jump trigger that uses built-in events to extend the base carriage, allowing the mine cart to jump, rotate and scale into the air for comic effect.

Each carriage can detect obstacles on the track and respond accordingly, some can stop and wait for it to move, others can ignore it and keep on going.
End of track options give you the ability to define how the train or carriage responds to the end of the track; stop, reverse direction, derail, …, or add your own custom response.

The system comes with a pre built mine cart, modern train engine, and two example carriages.
The system is highly customizable and comes with documentation, examples and videos.

Tech details
Blueprints: 8 (+6 Demo map blueprints)
Maps: 7 Example maps, 1 overview map
Models: 16 (6 Train, 2 mine cart, 2 tracks and 6 demo models)
Animations: 2 (wheels for train and wheels for mine cart)
Number of Materials: 13
Do Materials derive from a Master Material with instances as variation: Yes
Number of Textures: 14 (4k for train and mine cart, 1-2k for demo information models)
Intended Platforms: Desktop / Console / VR
Platforms Tested: Windows / Vive


  • Pre built trains: Modern engine, flat car, box car and mine cart
  • Highly detailed example maps broken down by train / track category.
  • All blueprints commented and with helper comments on where to extend sections
  • Documentation provided for all major blueprints including detailed descriptions of every component, macro, function and variable

Train Carriage:

  • Select a track in the world and the train carriage (or entire train if this is parent) will snap to it
  • Supports one or two bogies
  • Customize all meshes and entire look. Comes with offsets for all meshes relative to position on tracks.
  • Bogie distance, wheel animation playback speed are all customizable
  • Multiple end of track options (what the train does at the end of the track) including; derail, reverse direction, stop, attempt to stop, warp to original position
  • Easy to add new end of track options if you desire
  • Start inverted on track (if the train carriage should be flipped)
  • Highly configurable engine / physics: friction, gravity, mass, acceleration, deceleration as well as max speed, min speed
  • Ability to disable realistic speeds and use constant speed, E.g. creating a roller coaster or conveyor belt
  • Ability to select the starting direction of travel
  • Select carriage type; Engine will be able to move itself while a standard carriage won’t move without an engine or force moving it
  • Impact collision; If enabled the carriage will knock back obstacles in front of it (min size can be customized / large objects can slow the train / carriage down)
  • Sensor in front of the train can detect obstacles on the track
  • Obstacle responses dictate how the carriage responds, E.g. it can stop and wait for it to move, just ignore it and crash into it or not do anything.
  • Easy to add new obstacle responses to your setup
  • Collision filtering, E.g. Carriage will ignore the player but derail if it hits a static mesh
  • Plow strength; Impact force used to knock objects away
  • Flag the carriage so it never derails
  • Customize the derail force, set a low force for small crashes, or a large one for more dramatic ones
  • Collision ignore list, add any actor you want to the collision ignore list
  • Timed collision ignore list, add any actor and a time to the list and it will automatically be removed from the list when the supplied amount of time has passed
  • Ability to dampen the derail force that’s passed down to children
  • Quickly build trains with the parent / child select
  • Parent carriages pass their settings down to the child carriages by default (this can be disabled if needed)
  • If something happens to a child carriage (E.g. end of track) it will ask the parent how to handled
  • Ability to specify how far apart child and parent carriages should be
  • Distance checks can be enabled and the child can disconnect from the parent if the distance is too great
  • Customize the parent lerp speed. Child will try and match the parent speed, the lerp value specifies how close it will match.
  • By default all carriages come with the Lean Effect and the Roll Effect (the mine cart has a custom jump effect)
  • Lean Effect, ability for the carriage to lean on or out of a bend, creating a cartoon lean effect
  • Lean effect thresholds and limits can all be customized
  • Roll effect is used to derail a carriage if it goes around a bend that’s too sharp.
  • Roll effect threshold can be customized as well as the check performed, for example you can have it ignore Pitch and Yaw but derail on Roll only.
  • Debug strings have been left in place, but can be disabled with a single option
  • Add as many custom bogies to a carriage as you need for a custom setup
  • Events for post update to carriage as well as enter and leave each section of track

Mine Cart

  • Mine cart is an excellent example of a single bogie carriage
  • Also an excellent example of using events to customize the carriage and implement custom effects (jump trigger)
  • The mine care features a jump effect that’s applied to the carriage and can modify the scale, location and rotation of the carriage body or bogie

Connection Tool

  • Auto rebuilds and detects invalid connections between tracks

Debug Tool

  • Debug functions such as rendering bogie positions or carriage hitches stored in one debug blueprint so main blueprints aren’t bloated
  • Print all connection info about a track or connection points
  • Print / render all bogie names for selected carriages
  • Render trigger regions for selected tracks
  • Render sensor bogie in real time
  • Render carriage hitches in real time
  • Delete all trigger regions from a track


  • Tracks can be joined together to form complex or simple track layouts
  • Spline based mesh building
  • Any spline added to track blueprint will be handled as track spline (unless ignore tag is added)
  • Mesh building for spline can be disabled so merged actors or meshes can be added in place
  • Up direction can be set to create handing or twisted track
  • Connection arrows to visually indicate if connection made to another piece of track
  • Customize the connection distance (how far away the end point of another piece of track must be to be connected)
  • Notifies any carriage / train attached to track about editing so it can update
  • Ability to ignore other tracks in world when building connections
  • Ability to force track to use track connection (if multiple exist)
  • Ability to pick connection at random (if multiple exist)

Terrain Track

  • Same as an ordinary track except it auto adds the spline points and uses line traces to conform to the terrain underneath
  • Best used with actor merging to build tracks quickly over uneven terrain instead of hand modeling everything


  • Attach to a single spline or all splines on a track
  • Customize the trigger radius
  • Comes with multiple events to customize the trigger behavior
  • All trigger fire events have the bogie as well as the parent carriage passed into them
  • Options to trigger once, reset, timed reset, trigger once per carriage, delay on fire
  • Trigger map comes with four pre built triggers to provide detailed examples

If you have any questions, comments or feedback please let us know. We’ll update this thread with any new information.


1 Like

This seems really cool. Could this be used to implement roller coasters for example? Does it support weird/upside down track placements?

Yep, 100%
In the screen shots above you might be able to make out some of the upside down tracks.
You can change the track mesh to be anything you want, in your case, coaster track. The same goes for the “train”, the meshes can be changed to anything, so a roller coaster is 100% possible and would require no code changes, just some new meshes.

Awesome indeed :smiley: Looking forward to it.

added to my wishlist. Will you consider adding ability to design/spawn tracks at runtime?
Or, do you think it is possible to use this pack with Dungeon Architect in Code Plugins - UE Marketplace ?

Hi duyth, while we don’t have an example of this, it would be possible.
Each track is its own independent actor, when it’s spawned / constructed it checks for tracks near the start and end points, if one is close enough to another track end point, then a connection will be made.
So you could have some pre built sections of track, spawn them as you need them at run time and then just call the function to check for connections.
So yea, with a small bit of Blueprint work, you’d be be able to spawn tracks at run time and form connections between them.

Let us know if you have any further questions.

It looks really cool :slight_smile:

Sold! looking forward to seeing this pack


Got a few Questions about this asset.

  1. Does this work between multiple levels?
  2. Does the terrain train track tool support elevated rail systems? (Bridges)
  3. Are there any plans to support tunnels?

Added an example roller coaster map and simple roller coaster models.
Map took < 7 minutes to make with the system (took longer to make the models than to build the map ;)). File have been submitted to Epic to be included with the initial release.

1. Does this work between multiple levels?
Just tested it out and it does indeed work, please see the two screen shots below, I just tested with with the level streaming in the content examples, I built the tracks across three of the streaming levels. As the new pieces of track spawn in, you’ll just need to call the make connection function so it picks up other tracks around it, same as if you were spawning new track at run time.

2. Does the terrain train track tool support elevated rail systems? (Bridges)
The terrain tool will use a line trace directly under the track, and then places the spline point / mesh at that location, so if it’s a bridge mesh it hits, then the track will be placed on the mesh.

  • See note in answer three about bridges / tunnels.

3. Are there any plans to support tunnels?
Yes, very much so. There’s a million more features I’d like to add to this system.

The first of which I’d like to extend the terrain tool to that you can set the desired track height and then drag it across terrain and have it lay the tracks at the height and build the bridge mesh underneath down to the ground. Then the same for tunnels, have it lay the track and build the tunnel mesh around it.
Currently the terrain tool is a simple one, it takes two points and adds the mesh between. If people are interested in this system and have an interest in having bridge and tunnel tools, I’d love to make them, I just needed to release this version to see if people want it.

So that was a long answer, but in summary; yes, I’ve got plans to build advanced bridge and tunnel tools as well as expand on the terrain tool if people buy / use the system.

Hope that answered your questions, if I missed anything or you have any follow up questions, let me know.


Shut up and Take my money!

Will this support multiplayer?

Yep, it supports multiplayer.
We don’t have any replication enabled by default since that will be up to the end user based on their project. There are a lot of options in there, especially for the train, so having them all turned on by default would not be great for performance.

If your project just calls for a network replicated train in the style of Counter Strike (train moves from point to point, doesn’t stop, kills if you get in its way) then you’d only need to turn on replication for the bogies (which hold the info about what track it’s currently on) and then the speed / velocity in the carriage.
If on the other hand you’re creating a much more elaborate project where the player jumps between two or more moving trains while the carriages lean around bends and jumps, then you’d need to turn on the same as above but also the current lean effect variables as well as child carriage info.

So yes it supports multiplayer, but what features are used are up to you for your project. To help with this we documented every variable in every Blueprint, check out the link to the PDF in the first post.
If you, or anyone are planning a MP enabled project please post here, PM or e-mail support[at]polygonjelly[dot]com and we’ll help you get things setup as you need them, or answer any question you might have.

Hope that answered your question, please shout if it didn’t or if you have any follow up questions.


Looks very interesting. Good luck with the submission process. =)

This is a fantastic system you have put together here!
Keep building awsome stuff! :slight_smile:

Is it possible to connect different meshes together?


Thanks, and right back at you, we have a couple of your products and they are excellent.

For tracks; You can change the mesh on a piece of track to anything you want. So it’s easy to join different meshes / tracks together.
For trains; There are two main meshes; the body and the bogie. If you need to add extra mesh to the carriage, you can just parent to one of these. In our examples this is exactly what we did with the engine.

Hope that answers your question, if not, please let us know.

Thanks again to everyone for the views, questions and interest. We’ll update the thread as soon as we hear back from Epic. In the mean time, please ask any questions you have.

Nice, is there a way to place splines so they are uniform in distance apart?

is it possible to make Track switches? Let’s say for a train station, as example.