Blueprint API
Start rides from your own logic, end them early, and react when they begin and end. Most projects never need these — the Entry Trigger handles everything — but they're there when you want more control.
| Name | Type | Summary |
|---|---|---|
| Activate Slide | Function | Starts a ride for a Character. Returns whether it started. |
| Cancel Slide | Function | Ends the current ride immediately, with or without a launch. |
| Is Sliding | Function | True while a ride is in progress. |
| On Slide Started | Event dispatcher | Fires when the rider starts moving down the slide. |
| On Slide Finished | Event dispatcher | Fires whenever a ride ends, including cancels. |
Getting a reference to a slide
To call any of these, you need a reference to the slide actor. The simplest options:
- In the Level Blueprint: select the slide in the level, then right-click in the Level Blueprint and choose Create a Reference to BP_SimpleSlideSystem.
- In another actor (a button, a lever, an NPC): add a variable of type BP_SimpleSlideSystem › Object Reference, tick Instance Editable, then pick the slide from the Details panel after placing your actor.
Activate Slide
Purpose
Starts a ride for the given Character.
The rider glides from where they are now to the top of the slide over Entry Blend Time — so call this when the Character is near the entrance. The Entry Trigger calls this for you automatically when Activate On Overlap is on.
Inputs
| Name | Type | Description |
|---|---|---|
| Character | Character | The Character who should ride. |
Outputs
| Name | Type | Description |
|---|---|---|
| Success | Boolean | True if the ride started; false if it couldn't. |
When it returns false
A ride won't start if:
- the slide is already in use or cooling down,
- the Character isn't the Required Actor Class (or a child of it),
- it has no Character Movement Component, or
- the spline isn't set up correctly.
Example — start a ride with an interact button
- Select the slide and turn Activate On Overlap off.
- In your character (or an interact system), when the player presses the interact key while standing near the slide, call Activate Slide on that slide with Self as the Character.
- Use Success to give feedback if the slide is busy.
Input Action Interact (Started)
└─ Activate Slide
Target = NearbySlide (BP_SimpleSlideSystem reference)
Character = Self
└─ Branch (Success)
True → (ride started — nothing else needed)
False → Print String "The slide is busy — try again in a moment"
A common pattern is a small trigger box beside the slide entrance that stores the slide reference on the character while they're inside it, and clears it when they leave. The interact key then calls Activate Slide on that stored reference.
Common use cases
- Interact-to-ride slides ("Press E to ride").
- Starting a ride from a cutscene, a level sequence event or a gameplay script.
- Sending an AI character down a slide as part of its behaviour.
- Slides that open only after a puzzle is solved or a key is collected.
If you call Activate Slide while the Character is far away, they'll still glide all the way to the top of the slide during the entry blend. It works, but it looks like teleporting through the air. Call it when they're near the entrance.
Cancel Slide
Purpose
Ends the current ride immediately and gives control back to the rider.
Restores the rider's collision, movement and mouse look, fires On Slide Finished, then starts the cooldown. Does nothing if no ride is in progress.
This is called automatically if the slide is removed or the level ends mid-ride, so a rider is never left stuck.
Inputs
| Name | Type | Description |
|---|---|---|
| Launch | Boolean | If true, the rider is launched from where they are, as if they'd reached the end of the slide. If false, they simply drop from where they are. |
Outputs
None.
Example — eject the rider when they take damage
Event AnyDamage (on your character)
└─ Is Valid (CurrentSlide)
└─ Cancel Slide
Target = CurrentSlide
Launch = false
The Exit Sound is only played when the rider reaches the end of the slide — not when a ride is cancelled.
Common use cases
- Letting the player bail out with a jump or button press mid-ride.
- Ending a ride when the rider is hit, dies or a timer runs out.
- Ejecting the rider before a level transition or cutscene.
- Breakable or collapsing slides that throw the rider off partway down.
Is Sliding
Purpose
Returns true while a ride is in progress — from the moment the rider starts blending onto the slide until they leave it. Returns false when the slide is idle or cooling down after a ride.
Inputs
None.
Outputs
| Name | Type | Description |
|---|---|---|
| Return Value | Boolean | True while a ride is in progress. |
Example — show an "occupied" light
Event Tick (on a sign or light actor near the slide)
└─ Set Visibility
Target = RedLight
New Visibility = Is Sliding (Target = MySlide)
For anything that only needs to change when a ride starts or ends, binding to On Slide Started and On Slide Finished is cheaper than checking Is Sliding every frame.
Is Sliding returns false during the cooldown, but the slide still won't accept a new rider until the cooldown ends. Activate Slide's Success output is the reliable way to know whether a ride actually started.
Common use cases
- "Slide in use" signs or queue lights.
- Blocking other abilities (like inventory or emotes) while a ride is in progress.
- Checking before calling Cancel Slide from a generic "bail out" input.
On Slide Started
Purpose
Fires when the rider actually starts moving down the slide — after they've finished blending onto it, not the moment the ride is triggered. Use it to play effects, change music, or track statistics.
Parameters
| Name | Type | Description |
|---|---|---|
| Rider | Character | The Character riding the slide. |
How to bind
- Level Blueprint: select the slide in the level, right-click in the Level Blueprint graph and choose Add On Slide Started under the slide's events.
- Any other Blueprint: drag from a slide reference and choose Bind Event to On Slide Started, then connect a Custom Event.
Example — splash effect and ride counter
Event BeginPlay
└─ Bind Event to On Slide Started (Target = MySlide)
Event = OnRideStarted
Custom Event OnRideStarted (Rider)
├─ Spawn System Attached (Splash effect, Attach To = Rider's Mesh)
└─ Set RideCount = RideCount + 1
Common use cases
- Starting particle trails, splash effects or screen effects.
- Switching to ride music or ambience.
- Counting rides for achievements or statistics.
- Hiding HUD elements or disabling abilities during the ride.
On Slide Finished
Purpose
Fires whenever a ride ends — when the rider reaches the bottom, when Cancel Slide is called, or when the slide is removed mid-ride. Use it to clean up effects or re-enable abilities you turned off.
Parameters
| Name | Type | Description |
|---|---|---|
| Rider | Character | The Character who was riding. |
The Rider can be invalid if the Character was destroyed during the ride. Check Is Valid before using it.
Example — clean up and restore abilities
Custom Event OnRideFinished (Rider)
└─ Is Valid (Rider)
Is Valid →
├─ Destroy Component (the splash effect you spawned)
└─ Set bCanUseAbilities = true (on Rider)
Write cleanup code so it's safe to run even if nothing was set up — for example, check that an effect component is valid before destroying it.
Common use cases
- Stopping effects you started in On Slide Started.
- Restoring HUD elements or abilities.
- Awarding points or completing an objective.
- Opening the next area once the player has ridden the slide.
More examples
Player-only slide with a "ride complete" objective
- Set Required Actor Class to your player Character Blueprint so NPCs can't trigger it.
- In the Level Blueprint, add On Slide Finished for that slide.
- Check Is Valid (Rider), then mark your objective as complete.
Jump to bail out
Input Action Jump (Started) (on your character)
└─ Is Valid (CurrentSlide)
└─ Branch (Is Sliding, Target = CurrentSlide)
True → Cancel Slide (Target = CurrentSlide, Launch = true)
False → Jump
Store CurrentSlide when the ride starts (for example from On Slide Started) and clear it in On Slide Finished.
Only Activate Slide, Cancel Slide and Is Sliding are intended to be called from outside the slide. The other functions you'll see inside the Blueprint are internal and may change between versions. If you want to customise behaviour, prefer the events above, or duplicate the Blueprint and edit your copy.