đŽ
Penguin Action Toolkit
Penguin Action Toolkit, also known as Penguin ARPG Toolkit or PAT, is a powerful action game framework which provides a general solution for all kinds of combat-heavy games in Unity. Whether you are interested in making 3D souls-like game or 2D Metrovenia platformer, PAT can provide an accessible and extensible combat system to start with and can save you tens of hours on building the basic framework.
It is a student pitch project at Entertainment Technology Center, Carnegie Mellon University.
The toolkit is now published as a free package on the Unity Assets Store. Download and try it -> [STORE LINK]
Project Type
Unity tool
đ
đĻ
Time
Sep 2024 - Dec 2024
Team
Jinyi Dai, Wuji Cao, Yuanheng Qu, YC Hu, Minghao Zhou, Yiran Zhang
My Role
Designed and implemented the core structure of the character locomotion system, including movement control, input handling and camera views.
Developed a Unity in-editor timeline tool for State Modifiers, enabling visual editing and real-time previews of different elements of combat skills, including animations, visual effects, sound effects, special locomotion changes and so on.
Publishing & Documentation
Packaged the toolkit properly for release and successfully published it on the Unity Asset Store. Organized technical documentation in GitBook, including tutorials and API references.
Why Build a Combat System?
Action games come in many forms â 2D, 2.5D, or 3D â and while they vary in visual style and mechanics, they often share a common structure: a controllable character navigating a scene, executing skills and abilities triggered by player input. Developing a robust combat system typically requires a significant amount of foundational work before a team can begin focusing on creative, gameplay-specific features. Thatâs exactly why we set out to build this toolkit â to save developers time by handling the basic structure, without limiting their creative freedom.
Unlike many existing action game frameworks that offer rigid, pre-defined systems â which often result in games that feel similar â Penguin Action Toolkit focuses on flexibility and extensibility. Rather than delivering a âplug-and-playâ combat system, PAT is designed especially for programmers. It encourages developers to write their own code, customize behavior, and build unique gameplay features from a solid foundation. By emphasizing structure over specificity, PAT gives teams the freedom to create unusual mechanics, integrate with complex systems, and retain full control over how their combat works.
In short, PAT takes a different approach than other packages:
It provides a structured yet flexible system architecture.
Itâs built for developers who want to code, not avoid it.
It encourages customization and supports truly unique gameplay ideas.
Character Abilities
Character abilities in PAT represent all active skills a character can perform â including both combat actions (such as sword slashes, magic casting, or shield parries) and mobility actions (like double jumps, dashes, or wall kicks).
In PAT, each ability is represented as an Action State. An Action State serves as a triggerable container â it doesnât define specific behavior on its own, but acts as a state in the dynamic state machine.
Its behavior is defined by a collection of attached State Modifiers. These modifiers determine how the ability manifests â handling animations, visual effects, sound effects, and locomotion changes.
The toolkit includes a library of commonly used modifiers, such as animation triggers, instant movement changes, and timed visual effects. For more customized use cases, developers can easily extend the system by inheriting from the StateModifier base class and writing their own logic, enabling unique and highly customized gameplay behavior.
Core Structure
Penguin Action Toolkit provides a modular set of systems divided into two core concepts: character locomotion and character abilities.
Character Locomotion
Character locomotion handles all fundamental character movement features, including player input processing, character movement and third-person camera behavior.
The core of locomotion is a shared locomotion base script that contains general logic such as handling horizontal and vertical movement calculations, applying rotation with animation sync, and supporting special movement behaviors like dashing or teleportation. This base class contains only the logic and calculations â it does not directly apply movement or rotation. Instead, developers can attach different locomotion motors to define how movement is applied in 2D, 3D, or AI-driven scenarios using Unityâs Character Controller, NavMesh, or third-party controllers. Similarly, locomotion animators can be swapped to match different animation pipelines and parameter setups, offering flexibility across different game types and animation systems.
Editor Tool: Modifier Timeline
One of the core innovations in Penguin Action Toolkit is the in-editor Modifier Timeline Tool, designed to dramatically improve the workflow of creating and tuning character abilities.
In PAT, Modifiers define the specific behaviors of an Action State. Originally, adjusting Modifier parameters â such as animation timings or locomotion bursts â required manual inspector edits and repeated game runs, making iteration slow and difficult, especially for less experienced developers.
The Timeline Tool introduces a visual, drag-and-drop interface inside the Unity Editor:
Developers can preview and adjust Modifiers directly in-editor without entering Play mode.
Changes are reflected immediately, enabling rapid iteration and fine-tuning.
Usability features like automatic alignment further accelerate the editing process.
With the Timeline Tool, PAT transforms from a technical framework into a complete, user-friendly toolkit â allowing faster development and easier experimentation for custom abilities.
Links
My Role
Programmer, technical designer
Character Locomotion Design
Custom Editor Tooling
Overview
đšī¸
Prototype Playtesting
Built internal prototypes to validate system extensibility and developer usability under different system combinations.