Basic scripts description


This is primitive TEMPLATE script to process input, so please use this script to control all direction and but- ton related input.

TO GET full power and flexibility - Please use "Universal Input - system" (


Simple script that perform smooth movement towards the target.
It used to allow camera follow player smoothly. Camera always tries to keep initial offset against the player


This script checks and saves tagged object collided with this one. It allows getting tag of triggeredObject

Script should be attached to object with Rigidbody and Collider (IsTrigger = true) attached


Script that performs specific actions requested from PlayerController script. AllnNeeded animations, inter- actions and gameplay updates can be performed in action-specific functions

Average structure looks like: 

animatedObject - Object that contains visual player appearance and animations
gameCursor - Object that contains PlayerCursor script and used as game-cursor to trigger objects
currentAction - Current requested action (this is internal variable, but it should be public), please don't change it blindly. 


Main scripts that control/manage all players’ states and requests related actions. This script also process input and transform it to specific for TopDown games.

Average structure looks like: 


InputManager - Script that provide basic input info (highly recommended to use Universal Input System) 
GameCursor - Object with PlayerCursor script that track object to interact with
PlayerDirector - PlayerDirector script that will process every activity related to requested actions
Actions - List of all possible players actions. Actions contain all basic and universal parameters:

  • Caption - Just a caption for more comfortable navigation
  • actionType - Action type. Function with this name will be called to perform this action. Predefined action types (please change it if needed): None, Idle, Move, Attack, Talk, PickUp
  • actionPriority - Priority. Only actions with higher priority can interupt actions with lower 
  • actionDuration - During this time action can't be interupted by action with lower priority. 
  • animationClip - Play this animation during the action
  • alternativeAnimationClip - Additional alternative animation, can be used in action-specific functions 
  • loopAnimation - Specifies should be animation looped during action Duration or not 
  • triggeredObjectTag - Tag of object to interact with. Use PlayerCursor to track object under the mouse
  • activationDistance - How far triggeredObject can be activated
  • customParameter - Just a voluntary parameter, that can be used inside actin-specific function (for example movement speed for Move action)