Systems
WebsiteGitHubGitBook
  • πŸ•ΉοΈSystems Intro
    • Game Controls
    • User Interface
    • Item Sprite Generation
  • πŸ“¦Asset Data
    • How Asset Data works
    • Using Asset Data
    • Creating an Asset Database
    • Known Issues
  • πŸ“‘Traits
    • Containers & Items
    • Roles
  • πŸ”«Gamemodes
    • Adding objectives
    • Adding game modes
  • πŸŽ₯Roles
    • Adding a new role
    • Adding a new permission
  • πŸ–οΈInteractions
    • Interactions Guide
  • 🧰Containers
    • Using containers in game
    • Setting up a container
      • Fields description
      • Networking a container
      • Custom storage conditions
    • FAQ
  • πŸ‘œInventories
    • Developer Guide
  • πŸ—ΊοΈTilemaps
    • Creating Maps
    • Adding new items & objects
      • Adjacency Connections
    • Technical Implementation
    • Refactor notes
    • Interface
  • πŸ’Entities
    • 🩲Character Customization
  • πŸ›‹οΈLobby
  • πŸ› οΈCrafting
  • πŸ’¬Chat
    • Channels
      • Department specific channels
      • Distance based channels
  • πŸ“£Audios
  • πŸ”ŽExamine
    • How it works
    • Setting up a game object to be examinable
Powered by GitBook
On this page

Was this helpful?

Edit on GitHub
Export as PDF
  1. Systems Intro

Game Controls

PreviousSystems IntroNextUser Interface

Last updated 2 years ago

Was this helpful?

For a list of current controls and control ideas see link below.

Input Actions

All implemented controls are (and must be) in Content/Systems/Input/Controls.inputactions

If you are not familiar with the new input system, here are two for almost everything you might need.

After saving Controls.InputAction, it regenerates Console class in Scripts/SS3D/System/Inputs. You can use Controls class in your script by getting Input property in InputSystem through Subsystems.

All actions and action maps should be named in PascalCase with spaces between words. (Toggle Run, Snap Right, Snap Left, etc). Avoid long names.

All handlers, that subscribe to actions, have to contain InputAction.CallbackContext argument. Handlers have to be subscribed to actions in OnStart() and unsubscribed in OnDestroyed().

If you want to Disable/Enable some acitons (or action maps), use Toggle methods in InputSystem, otherwise, it will cause issues.

Input Consumption is enabled. It means, in actions with modifiers you have to press modifiers first and binding last. This feature prevent multiple actions from being performed unintentionally (For example, if you have E action and CTRL+E action and you pressed CTRL+E, E action won't be performed).

πŸ•ΉοΈ
good
guides