zeba_academy_skill_tree_ui 1.0.0 copy "zeba_academy_skill_tree_ui: ^1.0.0" to clipboard
zeba_academy_skill_tree_ui: ^1.0.0 copied to clipboard

RPG-style skill tree package for Flutter.

Zeba Academy Skill Tree UI #

License: GPL v3 pub package Flutter

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.

0
likes
130
points
89
downloads

Documentation

API reference

Publisher

verified publisherzeba.academy

Weekly Downloads

RPG-style skill tree package for Flutter.

Homepage

License

GPL-3.0 (license)

Dependencies

flutter

More

Packages that depend on zeba_academy_skill_tree_ui