
3D Platformer | Toolkit
(Unreal Engine 4)
3D Platofrmer Starter Toolkit is an organized and affordable project template that provides you the the basics you need in order to start developing a 3D platformed. With color-coded folders all neatly categorized, it is designed for easy modification, implementation, and additional assets.
#1 - Getting Started & Adding levels
#2 - Doors & Switches
Documentation
Level
-
-
Player Character (b_pc_default)
-
Found in Blueprints>Characters. The toolkit features a premade player character featuring:
-
Health System
-
Double-Jumping
-
Basic Attacking
-
Ledge-Grabbing
-
-
Player attack can cause damage to actors. In order to trigger this:
-
Open desired actor
-
Add “i_interaction” interface to actor.
-
Call the event “Player Hit”. Naturally, this will be triggered when the player hits this object.
-
-
-
-
Pickups (b_pickup_base)
-
Found in Blueprints>Pickups. Pickups a key feature for 3D platformers & collectathons. To make a new pickup:
-
Create a child of “b_pickup_base”
-
Search for the event “Pickup”
-
‘PC” input references the player character cast to the “b_pc_default” class.
-
Add any event functions to be fired upon pickup here.
-
Pickups do not delete themselves automatically upon being picked up. You must manually add “destroy actor” at the end of the function if you want to remove it.
-
-
-
Switches
-
Found in Blueprints>Interactables. Switches can trigger events in a level when hit by player. To trigger events, call the “On Switch Flipped” & “On Switch Unflipped” event dispatchers.
-
Reflippable determines whether you can flip the switch only once or more.
-
-
Doors
-
Found in Blueprints>Interactables. Doors can be opened by calling the “Open Door” event and used to determine character progression.
-
-
Ledge grabbing
-
To enable ledge grabbing on a scene object
-
Open collisions and set to custom.
-
Set “LedgeTrace” collision option to “Block”
-
-
-
Enemies
-
Found in Blueprints>Enemies. The toolkit features a basic enemy setup that can damage the player and features basic AI.
-
Health Max: Determines the amount of damage that can be taken before death.
-
Behavior Tree: Determines the AI behavior tree that is fired when the actor is spawned.
-
-
-
Bosses
-
Found in Blueprints>Enemies>Bosses. Boss are a subclass of enemies with some additional special features.
-
Boss Name: Self-explanatory. The name of the boss that will appear in above its health bar.
-
Event Create Boss HUD: Creates a Boss health bar and name.
-
On Boss Death: Event dispatched that can trigger events when the boss dies.
-
-
-
Killzone
-
Found in Blueprints>Misc. A Volume that will damage the player and return them to the last checkpoint when entered.
-
-
Killzone
-
Found in Blueprints>Misc. Similar to killzone, but launches the playr character into the air upon overlap, rather than return them to the last checkpoint.
-
-
Checkpoint
-
Found in Blueprints>Misc. A location the player will respond too if they die in a killzone.
-
-
Level End
-
Found in Blueprints>Misc. An actor that triggers the end of the level when hit by player.
-
-
-
Overworld
-
WorldPoint
-
Found in Maps>Overworld. WorldPoint is an actor for the “Overworld” level that the player can move to. World points will be disable at the start of the overworld if
-
World Point [Direction]: The world point the player will move to when that directional input is selected.
-
Level: the level tag that determines what entry in the Data Table “dt_levellist” is called for reference.
-
-
-
dt_LevelList
-
Found in Data>Tables. In order to use levels effectively with the overworld, you must add it into “dt_levellist”.
-
Name: Name that appears in HUD when the player is hovering over it.
-
Level: The Level opened when “EnterLevel” is selected in the Overworld HUD.
-
Levels Unlocked Upon Completion: Levels that are unlocked for travel in the Overworld when this level is completed.
-
-
-
-
Music: BGM System
-
BGM Object Class
-
Found in Data>BGM. This is used for playing music in game. Features:
-
Music Cue: The Sound cue that is played when called.
-
Name: Music Track name.
-
-
-
Play Music
-
Called from “Get Universal Game Mode”. Plays a BGM track and stops any current ones.
-
-
Stop Music
-
Called from “Get Universal Game Mode”. Stops the currently playing BGM track. Can stop instantly or fade out.
-
-
-
Dialogue System
-
Dialogue Object Class
-
Found in Data>Dialogue. This is used to create dialogue sequences. Features:
-
Name: The character name that appears with this line of dialogue.
-
Line: The text displayed for this line of dialogue.
-
Responses: The responses that will appear to this line that the player can choose.
-
Voice Line: The sound cue played for this line of dialogue.
-
Event Triggers: A series of tags that can fire events during dialogue.
-
Follow Up Dialogue: The new dialogue that begins as soon as this line/response is played or over.
-
-
-
Play Dialogue
-
Called from “Get Platformer Game Mode”. Begins a Dialogue sequence that ends when the last line is reached.
-
-
Event Triggers
-
An essential part of dialogue. This is a way to call events with a tag anywhere at any time. To use:
-
Open an actor
-
Search “Get Universal Game Mode”.
-
From “Universal Game Mode” call the event dispatcher “Event Trigger”
-
From the “tag” node, call “switch on name”.
-
Input the same tag as you put in the dialogue or response line.
-
From that node, create a sequence of events. This will be caused as soon as the line with that event trigger is reached.
-
-
-
-
Cutscenes
-
Play Cutscene
-
Called from “Get UniversalGameMode”. Plays a level sequence with an extra few special attributes.
-
Cutscene: Level Sequence that will be played.
-
Skippable: Is this cutscene skippable. (Skipping input not implemented)
-
EventTriggers on Finish: Event Triggers that will be fired when the cutscene finishes.
-
-
-
Pause/Resume Cutscene
-
Self-Explanatory.
-
-
-
Save/Load
-
GlobalGameInstance
-
The game instance that stores all the data between levels and saves. (E.G. Audio Settings, Unlocked Levels, Total collected Gems, ect.)
-
-
Modify Save/Load Data
-
Found in Blueprints>Functions in the “f_saveload” function library. And data that you want saved or loaded to/from GlobalGameInstance must be applied from/to the Save Game Object here.
-
-