zeba_academy_skill_tree_ui 1.0.0
zeba_academy_skill_tree_ui: ^1.0.0 copied to clipboard
RPG-style skill tree package for Flutter.
Zeba Academy Skill Tree UI #
A powerful Flutter package for building RPG-style skill trees with unlockable nodes, dependency paths, animated progress indicators, zoomable navigation, and fully customizable node widgets.
Perfect for:
- š® RPG Games
- š Learning Platforms
- š Achievement Systems
- šØāš¼ Employee Training Portals
- š Gamified Applications
- šÆ Progress Tracking Systems
Features #
ā RPG-style skill trees
ā Unlockable skill nodes
ā Parent-child dependency paths
ā Animated node states
ā Progress indicators
ā Zoom and pan support
ā Custom node widgets
ā Highly customizable
ā Lightweight and dependency-free
ā Production-ready architecture
Installation #
Add the package to your pubspec.yaml:
dependencies:
zeba_academy_skill_tree_ui: latest
Then run:
flutter pub get
Import #
import 'package:zeba_academy_skill_tree_ui/zeba_academy_skill_tree_ui.dart';
Quick Start #
Create Nodes #
final controller = SkillTreeController([
SkillNode(
id: '1',
title: 'Start',
position: const Offset(100, 300),
unlocked: true,
),
SkillNode(
id: '2',
title: 'Attack',
position: const Offset(300, 200),
dependencies: ['1'],
),
SkillNode(
id: '3',
title: 'Defense',
position: const Offset(300, 400),
dependencies: ['1'],
),
SkillNode(
id: '4',
title: 'Ultimate',
position: const Offset(600, 300),
dependencies: ['2', '3'],
),
]);
Display Skill Tree #
SkillTree(
controller: controller,
)
Complete Example #
import 'package:flutter/material.dart';
import 'package:zeba_academy_skill_tree_ui/zeba_academy_skill_tree_ui.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
final controller = SkillTreeController([
SkillNode(
id: '1',
title: 'Start',
position: const Offset(100, 300),
unlocked: true,
),
SkillNode(
id: '2',
title: 'Attack',
position: const Offset(300, 200),
dependencies: ['1'],
),
SkillNode(
id: '3',
title: 'Defense',
position: const Offset(300, 400),
dependencies: ['1'],
),
SkillNode(
id: '4',
title: 'Ultimate',
position: const Offset(600, 300),
dependencies: ['2', '3'],
),
]);
return MaterialApp(
home: Scaffold(
backgroundColor: Colors.black,
body: SkillTree(
controller: controller,
),
),
);
}
}
SkillNode Properties #
| Property | Type | Description |
|---|---|---|
| id | String | Unique identifier |
| title | String | Node label |
| position | Offset | Position on canvas |
| dependencies | List | Required parent nodes |
| unlocked | bool | Unlock status |
| progress | double | Progress value (0-1) |
Controller API #
Check Unlock Availability #
controller.canUnlock(node);
Unlock Node #
controller.unlockNode(node);
Update Progress #
controller.updateProgress(
node,
0.75,
);
Upcoming Features #
- Animated path transitions
- Radial skill trees
- Skill categories
- Save/Load state
- Achievement integration
- Minimap navigation
- Custom layouts
- Skill point system
- XP progression system
- Theming support
Why Zeba Academy Skill Tree UI? #
Unlike traditional tree widgets, this package focuses on:
- RPG-inspired progression systems
- Learning pathways
- Dependency visualization
- Gamification experiences
- Interactive skill development
This makes it ideal for both gaming and educational applications.
License #
This project is licensed under the GNU General Public License v3.0 (GPL-3.0).
You may:
- Use
- Modify
- Distribute
- Share
under the terms of the GPL-3.0 license.
See the LICENSE file for full details.
About Me #
⨠Iām Sufyan bin Uzayr, an open-source developer passionate about building and sharing meaningful projects.
You can learn more about me and my work at:
Your all-in-one learning hub! #
š Explore courses and resources in coding, tech, and development at Zeba Academy and Code Zeba Academy.
Empower yourself with practical skills through curated tutorials, real-world projects, and hands-on experience.
Level up your tech game today! š»āØ
Zeba Academy is a learning platform dedicated to coding, technology, and development.
ā” Visit our main site: https://zeba.academy
ā” Explore hands-on courses and resources: https://code.zeba.academy
ā” YouTube: https://www.youtube.com/@zeba.academy
ā” Instagram: https://www.instagram.com/zeba.academy/
Thank you for visiting!
ā If you find this package useful, please consider supporting the project by starring the repository and sharing it with the Flutter community.