Skip to content

Repository files navigation

G-Tutorial-Manager

A tutorial manager system used in Unity specially casual or hyper-casual, with the aim to be used across all different games without coding or with minimal coding.

While developing my own hyper-casual games, I realized that I needed a tutorial system. Instead of using a ready-made package, I wanted to develop it myself. I used every update of the system in the new game I developed and took notes on the parts I saw missing. Now that I have developed a Tutorial system that works on its own, I wanted to offer it as a separate package.

Table of Contents

Installation

Import this package into Unity and use it.

System Overview

Tutorial System

Scripts Overview

The tutorial system mainly consists of 6 core scripts:

  • TutorialManager: A persistent instance that appears in all scenes, used to create, configure, run and validate tutorials in Editor. Put this in the first scene.
  • GTutorialSettings: It contains Tutorial related settings and all Tutorial Section Groups in your game.
  • TutorialValidator: A base class that check if the conditions are satisfied to trigger (show) a tutorial. Customized validator should be inherited from this class and implement its own logics. You can add validator to tutorial. If Validator should be true, Tutorial will started. All validators are check once per G Tutorial Settings "scanValidatorsDelayInMs" variable.
  • TutorialSection: It is the smallest unit of structure for a tutorial. It contains when the tutorial starts, when it ends, end condition and Tick. Each tutorial step can be coded with this class.
  • TutorialSectionGroup: A group of Tutorial Sections. It executes the Tutorial Sections in it step by step. It can be triggered manually or a validator can be added.
  • TutorialUIController: An UI panel to show tutorial text, hand, etc. This is only Unity UI compatiable.

Configuration

Settings of each Tutorial Section Group:

  • Group Name: A name to save the progress in PlayerPrefs.
  • Load Last Save: When any Tutorial Section is completed in Tutorial Section Group but Group is not completed, It start from begin when is unchecked.
  • Trigger Condition: How the tutorial is triggered (start).
    • Manual: Only trigger mannualy, by calling TutorialManager.StartTutorial(TutorialSectionGroup).
    • Validator: Only trigger when a custom validator script IsValid() is true.
  • Validator: Reference to the validator scriptable object. It seems only the trigger condition is Validator.
  • Add New Tutorial Section: The prefab that contain all tutorial steps and the actually how the tutorial shows to players.

G Tutorial Settings:

  • scanValidatorsDelayInMs: It sets how often the validators are checked.
  • AllTutorialGroups: Shows all Tutorial Section Groups in the project.

Usage

Create Tutorial Section Group

Create a new Tutoral Section with Right click menu.

Tutorial Section

Apply your settings and that's it! Your tutorial section group is ready!

Demo

A demo scene is located at Demo folder, open the DemoScene.unity scene and you can see how G-TutorialManager works.

License

SC Essentials is licensed under a MIT License.

About

Tutorial Manager for Hyper Casual and Casual.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Add copy buttons to all
 blocks
(function() {
function addCopyButtons() {
document.querySelectorAll('pre code').forEach(function(codeBlock) {
if (codeBlock.parentElement.hasAttribute('data-copy-added')) return;
codeBlock.parentElement.setAttribute('data-copy-added', 'true');
var btn = document.createElement('button');
btn.textContent = 'Copy';
btn.style.cssText = 'position:absolute;top:4px;right:4px;padding:2px 8px;font-size:11px;background:#4ecdc4;border:none;border-radius:4px;color:#1a1a2e;cursor:pointer;opacity:0.7;transition:opacity 0.2s;';
btn.onmouseover = function() { this.style.opacity = '1'; };
btn.onmouseout = function() { this.style.opacity = '0.7'; };
btn.onclick = function() {
navigator.clipboard.writeText(codeBlock.textContent).then(function() {
btn.textContent = 'Copied!';
setTimeout(function() { btn.textContent = 'Copy'; }, 1500);
});
};
codeBlock.parentElement.style.position = 'relative';
codeBlock.parentElement.appendChild(btn);
});
}
addCopyButtons();
// Re-run on dynamic content
var observer = new MutationObserver(addCopyButtons);
observer.observe(document.body, { childList: true, subtree: true });
})();
}
} catch(__e) { console.warn('[Userscript:Add Copy Buttons to Code Blocks]', __e); }
})();
(function(){
try {
var __m = "github.com";
var __re = new RegExp('^' + "github\\.com" + '
GitHub - Hot-G/G-Tutorial-Manager: Tutorial Manager for Hyper Casual and Casual. · GitHub
Skip to content

Repository files navigation

G-Tutorial-Manager

A tutorial manager system used in Unity specially casual or hyper-casual, with the aim to be used across all different games without coding or with minimal coding.

While developing my own hyper-casual games, I realized that I needed a tutorial system. Instead of using a ready-made package, I wanted to develop it myself. I used every update of the system in the new game I developed and took notes on the parts I saw missing. Now that I have developed a Tutorial system that works on its own, I wanted to offer it as a separate package.

Table of Contents

Installation

Import this package into Unity and use it.

System Overview

Tutorial System

Scripts Overview

The tutorial system mainly consists of 6 core scripts:

  • TutorialManager: A persistent instance that appears in all scenes, used to create, configure, run and validate tutorials in Editor. Put this in the first scene.
  • GTutorialSettings: It contains Tutorial related settings and all Tutorial Section Groups in your game.
  • TutorialValidator: A base class that check if the conditions are satisfied to trigger (show) a tutorial. Customized validator should be inherited from this class and implement its own logics. You can add validator to tutorial. If Validator should be true, Tutorial will started. All validators are check once per G Tutorial Settings "scanValidatorsDelayInMs" variable.
  • TutorialSection: It is the smallest unit of structure for a tutorial. It contains when the tutorial starts, when it ends, end condition and Tick. Each tutorial step can be coded with this class.
  • TutorialSectionGroup: A group of Tutorial Sections. It executes the Tutorial Sections in it step by step. It can be triggered manually or a validator can be added.
  • TutorialUIController: An UI panel to show tutorial text, hand, etc. This is only Unity UI compatiable.

Configuration

Settings of each Tutorial Section Group:

  • Group Name: A name to save the progress in PlayerPrefs.
  • Load Last Save: When any Tutorial Section is completed in Tutorial Section Group but Group is not completed, It start from begin when is unchecked.
  • Trigger Condition: How the tutorial is triggered (start).
    • Manual: Only trigger mannualy, by calling TutorialManager.StartTutorial(TutorialSectionGroup).
    • Validator: Only trigger when a custom validator script IsValid() is true.
  • Validator: Reference to the validator scriptable object. It seems only the trigger condition is Validator.
  • Add New Tutorial Section: The prefab that contain all tutorial steps and the actually how the tutorial shows to players.

G Tutorial Settings:

  • scanValidatorsDelayInMs: It sets how often the validators are checked.
  • AllTutorialGroups: Shows all Tutorial Section Groups in the project.

Usage

Create Tutorial Section Group

Create a new Tutoral Section with Right click menu.

Tutorial Section

Apply your settings and that's it! Your tutorial section group is ready!

Demo

A demo scene is located at Demo folder, open the DemoScene.unity scene and you can see how G-TutorialManager works.

License

SC Essentials is licensed under a MIT License.

About

Tutorial Manager for Hyper Casual and Casual.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Force GitHub README to respect dark mode (function() { var style = document.createElement('style'); style.textContent = ' .markdown-body { color-scheme: dark light; } .markdown-body pre { background: #161b22 !important; } .markdown-body code { background: rgba(110, 118, 129, 0.4) !important; } .markdown-body table th, .markdown-body table td { border-color: #30363d !important; } .markdown-body img { background: #0d1117; } .markdown-body blockquote { border-left-color: #8b949e; } .markdown-body hr { border-color: #30363d; } '; document.head.appendChild(style); })(); } } catch(__e) { console.warn('[Userscript:GitHub Dark Mode README Fix]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - Hot-G/G-Tutorial-Manager: Tutorial Manager for Hyper Casual and Casual. · GitHub
Skip to content

Repository files navigation

G-Tutorial-Manager

A tutorial manager system used in Unity specially casual or hyper-casual, with the aim to be used across all different games without coding or with minimal coding.

While developing my own hyper-casual games, I realized that I needed a tutorial system. Instead of using a ready-made package, I wanted to develop it myself. I used every update of the system in the new game I developed and took notes on the parts I saw missing. Now that I have developed a Tutorial system that works on its own, I wanted to offer it as a separate package.

Table of Contents

Installation

Import this package into Unity and use it.

System Overview

Tutorial System

Scripts Overview

The tutorial system mainly consists of 6 core scripts:

  • TutorialManager: A persistent instance that appears in all scenes, used to create, configure, run and validate tutorials in Editor. Put this in the first scene.
  • GTutorialSettings: It contains Tutorial related settings and all Tutorial Section Groups in your game.
  • TutorialValidator: A base class that check if the conditions are satisfied to trigger (show) a tutorial. Customized validator should be inherited from this class and implement its own logics. You can add validator to tutorial. If Validator should be true, Tutorial will started. All validators are check once per G Tutorial Settings "scanValidatorsDelayInMs" variable.
  • TutorialSection: It is the smallest unit of structure for a tutorial. It contains when the tutorial starts, when it ends, end condition and Tick. Each tutorial step can be coded with this class.
  • TutorialSectionGroup: A group of Tutorial Sections. It executes the Tutorial Sections in it step by step. It can be triggered manually or a validator can be added.
  • TutorialUIController: An UI panel to show tutorial text, hand, etc. This is only Unity UI compatiable.

Configuration

Settings of each Tutorial Section Group:

  • Group Name: A name to save the progress in PlayerPrefs.
  • Load Last Save: When any Tutorial Section is completed in Tutorial Section Group but Group is not completed, It start from begin when is unchecked.
  • Trigger Condition: How the tutorial is triggered (start).
    • Manual: Only trigger mannualy, by calling TutorialManager.StartTutorial(TutorialSectionGroup).
    • Validator: Only trigger when a custom validator script IsValid() is true.
  • Validator: Reference to the validator scriptable object. It seems only the trigger condition is Validator.
  • Add New Tutorial Section: The prefab that contain all tutorial steps and the actually how the tutorial shows to players.

G Tutorial Settings:

  • scanValidatorsDelayInMs: It sets how often the validators are checked.
  • AllTutorialGroups: Shows all Tutorial Section Groups in the project.

Usage

Create Tutorial Section Group

Create a new Tutoral Section with Right click menu.

Tutorial Section

Apply your settings and that's it! Your tutorial section group is ready!

Demo

A demo scene is located at Demo folder, open the DemoScene.unity scene and you can see how G-TutorialManager works.

License

SC Essentials is licensed under a MIT License.

About

Tutorial Manager for Hyper Casual and Casual.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Highlight search terms from Google/DuckDuckGo/Bing referrer (function() { var ref = document.referrer; var terms = []; if (ref.includes('google.com') || ref.includes('duckduckgo.com') || ref.includes('bing.com')) { var url = new URL(ref); var q = url.searchParams.get('q') || url.searchParams.get('p'); if (q) { terms = q.split(/\s+/).filter(function(t) { return t.length > 2; }); } } if (terms.length === 0) return; var style = document.createElement('style'); style.textContent = '.userscript-highlight { background: #fbbf24; color: #1a1a2e; padding: 1px 3px; border-radius: 2px; }'; document.head.appendChild(style); function highlight(node) { if (node.nodeType === 3) { // text node var text = node.textContent; var found = false; terms.forEach(function(term) { var regex = new RegExp('(' + term.replace(/[.*+?^${}()|[\]\\]/g, '\\') + ')', 'gi'); if (regex.test(text)) { found = true; var frag = document.createDocumentFragment(); var parts = text.split(regex); parts.forEach(function(part, i) { if (i % 2 === 0) { frag.appendChild(document.createTextNode(part)); } else { var span = document.createElement('span'); span.className = 'userscript-highlight'; span.textContent = part; frag.appendChild(span); } }); node.parentNode.replaceChild(frag, node); } }); } else if (node.nodeType === 1 && node.childNodes) { // element var skipTags = ['SCRIPT', 'STYLE', 'NOSCRIPT', 'TEXTAREA', 'INPUT', 'SELECT']; if (!skipTags.includes(node.tagName)) { Array.from(node.childNodes).forEach(highlight); } } } highlight(document.body); // Re-highlight on dynamic content var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1 || node.nodeType === 3) highlight(node); }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Highlight Search Terms]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - Hot-G/G-Tutorial-Manager: Tutorial Manager for Hyper Casual and Casual. · GitHub
Skip to content

Repository files navigation

G-Tutorial-Manager

A tutorial manager system used in Unity specially casual or hyper-casual, with the aim to be used across all different games without coding or with minimal coding.

While developing my own hyper-casual games, I realized that I needed a tutorial system. Instead of using a ready-made package, I wanted to develop it myself. I used every update of the system in the new game I developed and took notes on the parts I saw missing. Now that I have developed a Tutorial system that works on its own, I wanted to offer it as a separate package.

Table of Contents

Installation

Import this package into Unity and use it.

System Overview

Tutorial System

Scripts Overview

The tutorial system mainly consists of 6 core scripts:

  • TutorialManager: A persistent instance that appears in all scenes, used to create, configure, run and validate tutorials in Editor. Put this in the first scene.
  • GTutorialSettings: It contains Tutorial related settings and all Tutorial Section Groups in your game.
  • TutorialValidator: A base class that check if the conditions are satisfied to trigger (show) a tutorial. Customized validator should be inherited from this class and implement its own logics. You can add validator to tutorial. If Validator should be true, Tutorial will started. All validators are check once per G Tutorial Settings "scanValidatorsDelayInMs" variable.
  • TutorialSection: It is the smallest unit of structure for a tutorial. It contains when the tutorial starts, when it ends, end condition and Tick. Each tutorial step can be coded with this class.
  • TutorialSectionGroup: A group of Tutorial Sections. It executes the Tutorial Sections in it step by step. It can be triggered manually or a validator can be added.
  • TutorialUIController: An UI panel to show tutorial text, hand, etc. This is only Unity UI compatiable.

Configuration

Settings of each Tutorial Section Group:

  • Group Name: A name to save the progress in PlayerPrefs.
  • Load Last Save: When any Tutorial Section is completed in Tutorial Section Group but Group is not completed, It start from begin when is unchecked.
  • Trigger Condition: How the tutorial is triggered (start).
    • Manual: Only trigger mannualy, by calling TutorialManager.StartTutorial(TutorialSectionGroup).
    • Validator: Only trigger when a custom validator script IsValid() is true.
  • Validator: Reference to the validator scriptable object. It seems only the trigger condition is Validator.
  • Add New Tutorial Section: The prefab that contain all tutorial steps and the actually how the tutorial shows to players.

G Tutorial Settings:

  • scanValidatorsDelayInMs: It sets how often the validators are checked.
  • AllTutorialGroups: Shows all Tutorial Section Groups in the project.

Usage

Create Tutorial Section Group

Create a new Tutoral Section with Right click menu.

Tutorial Section

Apply your settings and that's it! Your tutorial section group is ready!

Demo

A demo scene is located at Demo folder, open the DemoScene.unity scene and you can see how G-TutorialManager works.

License

SC Essentials is licensed under a MIT License.

About

Tutorial Manager for Hyper Casual and Casual.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Strip utm_, fbclid, gclid, etc. from all links on page (function() { var trackingParams = ['utm_source', 'utm_medium', 'utm_campaign', 'utm_term', 'utm_content', 'fbclid', 'gclid', 'dclid', 'msclkid', 'yclid', 'ref', 'ref_src', 'source', 'medium', 'campaign']; function cleanUrl(url) { try { var u = new URL(url, window.location.origin); var changed = false; trackingParams.forEach(function(p) { if (u.searchParams.has(p)) { u.searchParams.delete(p); changed = true; } }); return changed ? u.toString() : url; } catch (e) { return url; } } function cleanLinks() { document.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } cleanLinks(); var observer = new MutationObserver(function(mutations) { mutations.forEach(function(m) { m.addedNodes.forEach(function(node) { if (node.nodeType === 1) { if (node.tagName === 'A') cleanLinks(); node.querySelectorAll('a[href]').forEach(function(a) { var clean = cleanUrl(a.href); if (clean !== a.href) a.href = clean; }); } }); }); }); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:Remove Tracking Parameters from Links]', __e); } })(); (function(){ try { var __m = "youtube.com"; var __re = new RegExp('^' + "youtube\\.com" + ' GitHub - Hot-G/G-Tutorial-Manager: Tutorial Manager for Hyper Casual and Casual. · GitHub
Skip to content

Repository files navigation

G-Tutorial-Manager

A tutorial manager system used in Unity specially casual or hyper-casual, with the aim to be used across all different games without coding or with minimal coding.

While developing my own hyper-casual games, I realized that I needed a tutorial system. Instead of using a ready-made package, I wanted to develop it myself. I used every update of the system in the new game I developed and took notes on the parts I saw missing. Now that I have developed a Tutorial system that works on its own, I wanted to offer it as a separate package.

Table of Contents

Installation

Import this package into Unity and use it.

System Overview

Tutorial System

Scripts Overview

The tutorial system mainly consists of 6 core scripts:

  • TutorialManager: A persistent instance that appears in all scenes, used to create, configure, run and validate tutorials in Editor. Put this in the first scene.
  • GTutorialSettings: It contains Tutorial related settings and all Tutorial Section Groups in your game.
  • TutorialValidator: A base class that check if the conditions are satisfied to trigger (show) a tutorial. Customized validator should be inherited from this class and implement its own logics. You can add validator to tutorial. If Validator should be true, Tutorial will started. All validators are check once per G Tutorial Settings "scanValidatorsDelayInMs" variable.
  • TutorialSection: It is the smallest unit of structure for a tutorial. It contains when the tutorial starts, when it ends, end condition and Tick. Each tutorial step can be coded with this class.
  • TutorialSectionGroup: A group of Tutorial Sections. It executes the Tutorial Sections in it step by step. It can be triggered manually or a validator can be added.
  • TutorialUIController: An UI panel to show tutorial text, hand, etc. This is only Unity UI compatiable.

Configuration

Settings of each Tutorial Section Group:

  • Group Name: A name to save the progress in PlayerPrefs.
  • Load Last Save: When any Tutorial Section is completed in Tutorial Section Group but Group is not completed, It start from begin when is unchecked.
  • Trigger Condition: How the tutorial is triggered (start).
    • Manual: Only trigger mannualy, by calling TutorialManager.StartTutorial(TutorialSectionGroup).
    • Validator: Only trigger when a custom validator script IsValid() is true.
  • Validator: Reference to the validator scriptable object. It seems only the trigger condition is Validator.
  • Add New Tutorial Section: The prefab that contain all tutorial steps and the actually how the tutorial shows to players.

G Tutorial Settings:

  • scanValidatorsDelayInMs: It sets how often the validators are checked.
  • AllTutorialGroups: Shows all Tutorial Section Groups in the project.

Usage

Create Tutorial Section Group

Create a new Tutoral Section with Right click menu.

Tutorial Section

Apply your settings and that's it! Your tutorial section group is ready!

Demo

A demo scene is located at Demo folder, open the DemoScene.unity scene and you can see how G-TutorialManager works.

License

SC Essentials is licensed under a MIT License.

About

Tutorial Manager for Hyper Casual and Casual.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Auto-enable theater mode on YouTube (function() { function tryTheater() { var btn = document.querySelector('button[aria-label="Theater mode"], ytd-player #player button[title="Theater mode"]'); if (btn && !btn.classList.contains('activated')) { btn.click(); } } // Try immediately tryTheater(); // Try after navigation (SPA) var lastUrl = location.href; setInterval(function() { if (location.href !== lastUrl) { lastUrl = location.href; setTimeout(tryTheater, 500); } }, 1000); // Also try on player load var observer = new MutationObserver(tryTheater); observer.observe(document.body, { childList: true, subtree: true }); })(); } } catch(__e) { console.warn('[Userscript:YouTube Theater Mode Default]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - Hot-G/G-Tutorial-Manager: Tutorial Manager for Hyper Casual and Casual. · GitHub
Skip to content

Repository files navigation

G-Tutorial-Manager

A tutorial manager system used in Unity specially casual or hyper-casual, with the aim to be used across all different games without coding or with minimal coding.

While developing my own hyper-casual games, I realized that I needed a tutorial system. Instead of using a ready-made package, I wanted to develop it myself. I used every update of the system in the new game I developed and took notes on the parts I saw missing. Now that I have developed a Tutorial system that works on its own, I wanted to offer it as a separate package.

Table of Contents

Installation

Import this package into Unity and use it.

System Overview

Tutorial System

Scripts Overview

The tutorial system mainly consists of 6 core scripts:

  • TutorialManager: A persistent instance that appears in all scenes, used to create, configure, run and validate tutorials in Editor. Put this in the first scene.
  • GTutorialSettings: It contains Tutorial related settings and all Tutorial Section Groups in your game.
  • TutorialValidator: A base class that check if the conditions are satisfied to trigger (show) a tutorial. Customized validator should be inherited from this class and implement its own logics. You can add validator to tutorial. If Validator should be true, Tutorial will started. All validators are check once per G Tutorial Settings "scanValidatorsDelayInMs" variable.
  • TutorialSection: It is the smallest unit of structure for a tutorial. It contains when the tutorial starts, when it ends, end condition and Tick. Each tutorial step can be coded with this class.
  • TutorialSectionGroup: A group of Tutorial Sections. It executes the Tutorial Sections in it step by step. It can be triggered manually or a validator can be added.
  • TutorialUIController: An UI panel to show tutorial text, hand, etc. This is only Unity UI compatiable.

Configuration

Settings of each Tutorial Section Group:

  • Group Name: A name to save the progress in PlayerPrefs.
  • Load Last Save: When any Tutorial Section is completed in Tutorial Section Group but Group is not completed, It start from begin when is unchecked.
  • Trigger Condition: How the tutorial is triggered (start).
    • Manual: Only trigger mannualy, by calling TutorialManager.StartTutorial(TutorialSectionGroup).
    • Validator: Only trigger when a custom validator script IsValid() is true.
  • Validator: Reference to the validator scriptable object. It seems only the trigger condition is Validator.
  • Add New Tutorial Section: The prefab that contain all tutorial steps and the actually how the tutorial shows to players.

G Tutorial Settings:

  • scanValidatorsDelayInMs: It sets how often the validators are checked.
  • AllTutorialGroups: Shows all Tutorial Section Groups in the project.

Usage

Create Tutorial Section Group

Create a new Tutoral Section with Right click menu.

Tutorial Section

Apply your settings and that's it! Your tutorial section group is ready!

Demo

A demo scene is located at Demo folder, open the DemoScene.unity scene and you can see how G-TutorialManager works.

License

SC Essentials is licensed under a MIT License.

About

Tutorial Manager for Hyper Casual and Casual.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Remove or un-stick sticky/fixed headers that block content (function() { function unstick() { document.querySelectorAll('header, nav, [role="banner"], .header, .navbar, .sticky, .fixed-top, [style*="position: fixed"], [style*="position:sticky"]').forEach(function(el) { if (el.style.position === 'fixed' || el.style.position === 'sticky' || getComputedStyle(el).position === 'fixed' || getComputedStyle(el).position === 'sticky') { el.style.position = 'static'; el.style.top = 'auto'; el.style.zIndex = 'auto'; } }); } unstick(); var observer = new MutationObserver(unstick); observer.observe(document.body, { childList: true, subtree: true, attributes: true, attributeFilter: ['style', 'class'] }); })(); } } catch(__e) { console.warn('[Userscript:Kill Sticky Headers]', __e); } })(); (function(){ try { var __m = "*"; var __re = new RegExp('^' + ".*" + ' GitHub - Hot-G/G-Tutorial-Manager: Tutorial Manager for Hyper Casual and Casual. · GitHub
Skip to content

Repository files navigation

G-Tutorial-Manager

A tutorial manager system used in Unity specially casual or hyper-casual, with the aim to be used across all different games without coding or with minimal coding.

While developing my own hyper-casual games, I realized that I needed a tutorial system. Instead of using a ready-made package, I wanted to develop it myself. I used every update of the system in the new game I developed and took notes on the parts I saw missing. Now that I have developed a Tutorial system that works on its own, I wanted to offer it as a separate package.

Table of Contents

Installation

Import this package into Unity and use it.

System Overview

Tutorial System

Scripts Overview

The tutorial system mainly consists of 6 core scripts:

  • TutorialManager: A persistent instance that appears in all scenes, used to create, configure, run and validate tutorials in Editor. Put this in the first scene.
  • GTutorialSettings: It contains Tutorial related settings and all Tutorial Section Groups in your game.
  • TutorialValidator: A base class that check if the conditions are satisfied to trigger (show) a tutorial. Customized validator should be inherited from this class and implement its own logics. You can add validator to tutorial. If Validator should be true, Tutorial will started. All validators are check once per G Tutorial Settings "scanValidatorsDelayInMs" variable.
  • TutorialSection: It is the smallest unit of structure for a tutorial. It contains when the tutorial starts, when it ends, end condition and Tick. Each tutorial step can be coded with this class.
  • TutorialSectionGroup: A group of Tutorial Sections. It executes the Tutorial Sections in it step by step. It can be triggered manually or a validator can be added.
  • TutorialUIController: An UI panel to show tutorial text, hand, etc. This is only Unity UI compatiable.

Configuration

Settings of each Tutorial Section Group:

  • Group Name: A name to save the progress in PlayerPrefs.
  • Load Last Save: When any Tutorial Section is completed in Tutorial Section Group but Group is not completed, It start from begin when is unchecked.
  • Trigger Condition: How the tutorial is triggered (start).
    • Manual: Only trigger mannualy, by calling TutorialManager.StartTutorial(TutorialSectionGroup).
    • Validator: Only trigger when a custom validator script IsValid() is true.
  • Validator: Reference to the validator scriptable object. It seems only the trigger condition is Validator.
  • Add New Tutorial Section: The prefab that contain all tutorial steps and the actually how the tutorial shows to players.

G Tutorial Settings:

  • scanValidatorsDelayInMs: It sets how often the validators are checked.
  • AllTutorialGroups: Shows all Tutorial Section Groups in the project.

Usage

Create Tutorial Section Group

Create a new Tutoral Section with Right click menu.

Tutorial Section

Apply your settings and that's it! Your tutorial section group is ready!

Demo

A demo scene is located at Demo folder, open the DemoScene.unity scene and you can see how G-TutorialManager works.

License

SC Essentials is licensed under a MIT License.

About

Tutorial Manager for Hyper Casual and Casual.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages

, 'i'); if (__m === '*' || __re.test(location.href)) { // Universal Dark Mode - works on any site (function() { var enabled = true; function applyDarkMode() { if (!enabled) return; // Create style element if it doesn't exist var style = document.getElementById('universal-dark-mode-style'); if (!style) { style = document.createElement('style'); style.id = 'universal-dark-mode-style'; document.head.appendChild(style); } // Dark mode CSS - inverts colors but preserves images/video style.textContent = ' /* Invert everything except media */ html { filter: invert(1) hue-rotate(180deg) !important; background: #1a1a2e !important; } /* Restore images, videos, iframes, canvas */ img, video, iframe, canvas, svg, picture, [style*="background-image"] { filter: invert(1) hue-rotate(180deg) !important; } /* Preserve specific elements that should not be inverted */ .no-dark-mode, .no-dark-mode *, [data-theme="light"], [data-theme="light"], .ace_editor, .ace_editor *, .CodeMirror, .CodeMirror *, .monaco-editor, .monaco-editor *, .markdown-body pre, .markdown-body pre *, .highlight, .highlight *, pre code, pre code * { filter: none !important; } /* Fix common UI elements */ .modal, .popup, .dropdown-menu, .tooltip, .popover { filter: invert(1) hue-rotate(180deg) !important; background: #2d2d44 !important; border-color: #444 !important; } /* Scrollbars */ ::-webkit-scrollbar { background: #1a1a2e !important; } ::-webkit-scrollbar-thumb { background: #444 !important; } ::-webkit-scrollbar-thumb:hover { background: #555 !important; } /* Selection */ ::selection { background: #4ecdc4 !important; color: #1a1a2e !important; } ::-moz-selection { background: #4ecdc4 !important; color: #1a1a2e !important; } '; } function removeDarkMode() { var style = document.getElementById('universal-dark-mode-style'); if (style) style.remove(); } // Toggle with Alt+Shift+D document.addEventListener('keydown', function(e) { if (e.altKey && e.shiftKey && e.key === 'D') { e.preventDefault(); enabled = !enabled; if (enabled) { applyDarkMode(); console.log('[Universal Dark Mode] Enabled'); } else { removeDarkMode(); console.log('[Universal Dark Mode] Disabled'); } } }); // Apply on load applyDarkMode(); // Re-apply on dynamic content var observer = new MutationObserver(function(mutations) { if (enabled && !document.getElementById('universal-dark-mode-style')) { applyDarkMode(); } }); observer.observe(document.head, { childList: true }); console.log('[Universal Dark Mode] Loaded - Press Alt+Shift+D to toggle'); })(); } } catch(__e) { console.warn('[Userscript:Universal Dark Mode]', __e); } })(); })(); GitHub - Hot-G/G-Tutorial-Manager: Tutorial Manager for Hyper Casual and Casual. · GitHub
Skip to content

Repository files navigation

G-Tutorial-Manager

A tutorial manager system used in Unity specially casual or hyper-casual, with the aim to be used across all different games without coding or with minimal coding.

While developing my own hyper-casual games, I realized that I needed a tutorial system. Instead of using a ready-made package, I wanted to develop it myself. I used every update of the system in the new game I developed and took notes on the parts I saw missing. Now that I have developed a Tutorial system that works on its own, I wanted to offer it as a separate package.

Table of Contents

Installation

Import this package into Unity and use it.

System Overview

Tutorial System

Scripts Overview

The tutorial system mainly consists of 6 core scripts:

  • TutorialManager: A persistent instance that appears in all scenes, used to create, configure, run and validate tutorials in Editor. Put this in the first scene.
  • GTutorialSettings: It contains Tutorial related settings and all Tutorial Section Groups in your game.
  • TutorialValidator: A base class that check if the conditions are satisfied to trigger (show) a tutorial. Customized validator should be inherited from this class and implement its own logics. You can add validator to tutorial. If Validator should be true, Tutorial will started. All validators are check once per G Tutorial Settings "scanValidatorsDelayInMs" variable.
  • TutorialSection: It is the smallest unit of structure for a tutorial. It contains when the tutorial starts, when it ends, end condition and Tick. Each tutorial step can be coded with this class.
  • TutorialSectionGroup: A group of Tutorial Sections. It executes the Tutorial Sections in it step by step. It can be triggered manually or a validator can be added.
  • TutorialUIController: An UI panel to show tutorial text, hand, etc. This is only Unity UI compatiable.

Configuration

Settings of each Tutorial Section Group:

  • Group Name: A name to save the progress in PlayerPrefs.
  • Load Last Save: When any Tutorial Section is completed in Tutorial Section Group but Group is not completed, It start from begin when is unchecked.
  • Trigger Condition: How the tutorial is triggered (start).
    • Manual: Only trigger mannualy, by calling TutorialManager.StartTutorial(TutorialSectionGroup).
    • Validator: Only trigger when a custom validator script IsValid() is true.
  • Validator: Reference to the validator scriptable object. It seems only the trigger condition is Validator.
  • Add New Tutorial Section: The prefab that contain all tutorial steps and the actually how the tutorial shows to players.

G Tutorial Settings:

  • scanValidatorsDelayInMs: It sets how often the validators are checked.
  • AllTutorialGroups: Shows all Tutorial Section Groups in the project.

Usage

Create Tutorial Section Group

Create a new Tutoral Section with Right click menu.

Tutorial Section

Apply your settings and that's it! Your tutorial section group is ready!

Demo

A demo scene is located at Demo folder, open the DemoScene.unity scene and you can see how G-TutorialManager works.

License

SC Essentials is licensed under a MIT License.

About

Tutorial Manager for Hyper Casual and Casual.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages