Skip to content

zanerage/StatHelperRPG

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

Stat System & Custom Unity Editor Tools

This Unity project is a comprehensive Stat System implementation that allows for managing character stats in a highly modular and customizable way. In addition to the core stat functionality, I've developed custom editor tools to enhance productivity and provide easy-to-use UI for managing stats directly from the Unity Editor.

Features

• Advanced Stat System • Modular stat architecture that uses ScriptableObjects to define various character stats. • Supports primary stats (e.g., Strength, Agility) and derived stats (e.g., Health, Damage) that are influenced by other stats. • Built-in stat modifiers to easily adjust values based on abilities, items, or temporary effects. • Dependency support for stats, where one stat's value can affect another (e.g., increasing Strength increases Damage).

Custom Editor Tools

• Created a Scriptable Collection Editor for managing stat-related ScriptableObjects directly in the Unity Editor. • Includes custom inspector views to easily manipulate and visualize stat data without requiring manual code changes. • Custom UI using UIElements and UI Toolkit for an intuitive workflow. • Create, duplicate, or remove stats easily within the editor.

In-Depth Stat Customization

• Stat caps and limits to prevent imbalance (e.g., Health capped at a maximum value). • Stat Progression curves to define how stats evolve as characters level up. • Buffs and debuffs system for applying temporary modifiers to stats.

Dynamic and Flexible

• Easily extendable to add new stats or features. • Suitable for a variety of game types, including RPGs, action games, and simulations.

HOW TO USE

Clone the Repository

• Clone this repository to your local machine using Git.

git clone

Open in Unity

• Open the project in Unity. This project was developed using Unity 2021.3.x; using the same or a newer version is recommended.

Using the Stat System

• Navigate to the StatHelperDatabase asset to create or manage existing stats. • Use the custom editor window under Window > StatHelper > StatHelperDatabase to add, remove, or edit stats. • Modify stats directly using the editor window. This allows you to see how changes affect your character or game objects in real time.

Extending the System

• To add a new stat, create a new ScriptableObject using the provided tools in the editor. • To create new modifiers, use the StatModifier class to define new effects for abilities or items.

Future Improvements & Ideas

• Stat-based Abilities: Implement abilities that consume or scale with stats (e.g., magic spells that scale with Intelligence). • AI Stat Integration: Extend the stat system to enemies and NPCs for a consistent approach to balancing the game. • UI Integration: Create player-facing UI elements to display stat values, allowing real-time feedback for buffs/debuffs.

I hope you find this project helpful for your game development needs. Feedback and contributions are greatly appreciated!

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published