Action Adventure Kit aims to kickstart your next gaming project by providing a solid foundation for commonly used systems like characters, items or persistence. It is split into the AdventureCore framework and the AdventureSouls demo project which can be used to learn about all the systems or as a base to start developing from.
AdventureCore currently contains the following systems along some other handy utilities.
- Character (Player, Enemies, …)
act as the central component that brings together all the other systems of the character - Actions (Object interaction, Attacks, Cutscenes, …)
anything a character can do that might occupy it for a while - Items (Keys, Armor, Potions, …)
objects that are put into an inventory and may be equipped or used - Attributes (Vitality, Strength, …)
values that define a characters capabilities - Resources (Health, Endurance, …)
values that may be used up by an action or damaged somehow - Effects (Poisoned, Slowed, …)
additional behaviors that can be added to characters - Movement (CharacterController, NavMesh)
responsible for moving the character around the world - Persistence
saves the state of characters, environment, save games, settings, … - Damage (Physical, …)
damage events created from triggers or actions are passed from senders to receivers
AdventureSouls demonstrates the systems of AdventureCore in a simple souls-like. Some of the feature highlights are:
- Player Character
- weapons with unique actions per item and equipped slot(left, right)
- parry, guard break, stagger behavior
- reusable humanoid animations
- Enemies
- passive or aggressive zombie enemies
- boss with arena and attacks based on player position
- Souls mechanics
- level up at bonfires but partially reset world
- death drops XP and resets player to bonfire
- Objects
- doors, chests, levers
- destructible crates and dummies
- traps that shoot spikes
Action Adventure Kit takes full advantage of the modern Unity ecosystem and tries to use the default Unity solution whenever possible. In this spirit of not reinventing the wheel it uses the following packages.
- New Input System
- UI Toolkit
- URP
- Cinemachine
- Timeline
- ProBuilder
In the same vain I also provide integrations for external system on GitHub.