Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

top-down

The engine’s Top Down template, point and click with the mouse or touch: its character, game mode and player controller are Rust classes. The engine’s own version is Blueprint-only at its base; here its Blueprints are children of the Rust classes.

rusteal new MyGame --template top-down

From TP_TopDown, the engine template it is made of.

Playing it

Open the project and press Play: click (or hold) / tap where the character should go.

Its classes

The Rust classes are in Rust/<crate>/src/; their Blueprint children, under the engine template’s names, are in Content/.

ClassParentFile
TopDownCharacterCharactersrc/character.rs
TopDownGameModeGameModeBasesrc/game_mode.rs
TopDownPlayerControllerPlayerControllersrc/player_controller.rs

Variants

Each variant is a project of its own: the template plus the variant, opening on the variant’s level.

strategy

A real-time strategy start: units selected with clicks, boxes and touches, sent along the navigation mesh by EnvQueries, and interacting with the units they reach.

rusteal new MyGame --template top-down --variant strategy

It opens /Game/Variant_Strategy/LVL_Strategy. To play: left click / drag selects units (Shift adds, double click selects all), right click sends them, WASD / right drag pans, wheel / Q E zoom.

Its own classes, next to the template’s, in a module named after it:

ClassParentFile
EnvQueryContextMoveGoalEnvQueryContext_BlueprintBasesrc/strategy/env_query.rs
StrategyGameModeGameModeBasesrc/strategy/game_mode.rs
StrategyHUDHUDsrc/strategy/hud.rs
StrategyPawnPawnsrc/strategy/pawn.rs
StrategyPlayerControllerPlayerControllersrc/strategy/player_controller.rs
StrategyTouchControlsUserWidgetsrc/strategy/touch_controls.rs
StrategyUIUserWidgetsrc/strategy/ui.rs
StrategyUnitCharactersrc/strategy/unit.rs

twin-stick

A twin stick shooter: projectiles, dashes and area attacks against waves of enemies run by a StateTree, pickups and a combo score.

rusteal new MyGame --template top-down --variant twin-stick

It opens /Game/Variant_TwinStick/LVL_TwinStick. To play: WASD / left stick move, mouse / right stick aim, left click / RT shoot, Left Shift / LB dash, right click / LT area attack.

Its own classes, next to the template’s, in a module named after it:

ClassParentFile
TwinStickAIControllerAIControllersrc/twin_stick/ai_controller.rs
TwinStickAoEAttackActorsrc/twin_stick/aoe_attack.rs
TwinStickCharacterCharactersrc/twin_stick/character.rs
TwinStickGameModeGameModeBasesrc/twin_stick/game_mode.rs
TwinStickNPCCharactersrc/twin_stick/npc.rs
TwinStickNPCDestructionActorsrc/twin_stick/npc_destruction.rs
TwinStickPickupActorsrc/twin_stick/pickup.rs
TwinStickPlayerControllerPlayerControllersrc/twin_stick/player_controller.rs
TwinStickProjectileActorsrc/twin_stick/projectile.rs
TwinStickSpawnerActorsrc/twin_stick/spawner.rs
StateTreeGetPlayerTaskStateTreeTaskBlueprintBasesrc/twin_stick/state_tree.rs
TwinStickUIUserWidgetsrc/twin_stick/ui.rs

Recipes taken from it: Point and click, AI, Projectiles and weapons.