Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. We have updated the language to the Editor Terms based on feedback from our employees and community. Learn more.
    Dismiss Notice

[Released] Tutorial Factory

Discussion in 'Assets and Asset Store' started by hsvstudio1011, Apr 22, 2022.

  1. hsvstudio1011

    hsvstudio1011

    Joined:
    Apr 20, 2022
    Posts:
    15
    Tutorial Factory
    Title1024.png




    Hi All,

    I am happy to present you this asset. It is now on Unity Asset Store.

    This plugin tool helps game developers and artists quickly build in-game interactive tutorials by providing easy and highly customizable ways to produce extraordinary informative tutorials.

    Interactive tutorial is always the best solution for showing users how to use your app or game. Normally, game developers and artists would spend a lot of time on reworking scene to demonstrate how their products work.

    Tutorial Factory exists to serve developers and artists by providing customizable settings and configurations to create informative instruction and tutorial. No programming knowledge is needed in order to use this Editor extensions. All the work could be done through Tutorial Factory's in Unity Editor.

    • Tutorial Factory supports multi stages and tutorial steps. Each stage may contain as many tutorials as you want.
    • Each tutorial step could track multi targets at the same time, even they are out of screen.
    • Built-in modules' settings could be modified to suit your need.
    • Tutorials could be triggered through collider, trigger and pointer events.
    • Capable of tracking mesh scene objects and UI elements.
    • Easy work flow to create tutorials for existing scene.
    • Users could use other plugin to achieve better transition results, such as Dotween.
    • Compatible with URP and Built-in render pipeline.
    • Compatible with all Unity supported platforms, including mobile and VR.
    • No programming is needed.
    Supports:
    Documention
    Setup Guide Videos
     

    Attached Files:

    Last edited: May 6, 2022
  2. yoonack

    yoonack

    Joined:
    Apr 29, 2016
    Posts:
    16
    Great asset man! Really love it. The targeting system helps my project a lot. Keep up the good work
     
  3. hsvstudio1011

    hsvstudio1011

    Joined:
    Apr 20, 2022
    Posts:
    15
    Thanks a lot! Just email me or post question here is you have any question. More features would come in future updates
     
  4. Sloyserg

    Sloyserg

    Joined:
    Apr 8, 2014
    Posts:
    11
    Hello hsvstudio1011,
    i have a problem using your asset recently. I am using RayCast Blocking script as follows:

    Code (CSharp):
    1.  
    2.  
    3. private int fingerID = -1;
    4.     private void Awake()
    5.     {
    6. #if !UNITY_EDITOR
    7.      fingerID = 0;
    8. #endif
    9.     }
    10.  
    11.     // Update is called once per frame
    12.     void Update()
    13.     {
    14.         if (EventSystem.current.IsPointerOverGameObject(fingerID))    // is the touch on the GUI
    15.         {
    16.             // GUI Action
    17.             return;
    18.         }
    19.         // Your raycast code
    This code prevents raycasts going through UI Elements. Before the Asset Import it was working fine without problems, when I import your asset, it is still working, but as soon as I create the manager that thing dont work anymore. When I try to click gameobjects, that raycast check always returns true as if I would click a UI element all the time, even when I dont click a UI element. It seems that you create some sort of global UI elemet over the entire scene? When I delete your components from the scene , even when using the tool "remove scene references" it is still broken. Do you have any suggestions?

    EDIT: Found the problem, when you assign ur tutorial manager, you also generate a physics raycast component on the main camera. Can you add those information in your documentation? :)

    fadf.PNG

    Greetings
     
    Last edited: May 2, 2022
  5. hsvstudio1011

    hsvstudio1011

    Joined:
    Apr 20, 2022
    Posts:
    15
    Hi fget487, I am sorry that the tool caused trouble to your code. I have updated online documentation to indicate PhysicsRaycaster component added to Main Camera.
    The purpose of adding PhysicsRaycaster to main camera is to detect pointer event on scene object when TriggerOnClick option is checked in HSVTriggerConfig. It seems that the reference to PhysicsRaycaster is dropped when entering playmode in TutorialManager, otherwise, it would be removed too when TutorialManager is removed. I will rolled out a quick fix for that.
    I apologize to any inconvenience it caused. Please do not hesitate to post any question here or email me.

    Edit: By the way, the 'ClearSceneReference' button is used to remove hidden gameobject HSVExposeMgr gameobject created by Tutorial Manager. This component is used to store scene object reference utilizing ExposedReference methodology when saving configuration.
     
    Last edited: May 2, 2022
  6. Sloyserg

    Sloyserg

    Joined:
    Apr 8, 2014
    Posts:
    11
    Thanks for the fast response on this, i tested a little bit further and maybe found a small thing. When you attach children to a parent and set that parent as the Tutorial Target object, for example the highlight feature does not work. When I disable the children, it works fine. Can you check from your side the behavior with attached children? Thanks in advance! Tobias
    PS: Im gonna post a good review on the asset store very soon ;) enjyoing the asset so far. Ty!
     
  7. hsvstudio1011

    hsvstudio1011

    Joined:
    Apr 20, 2022
    Posts:
    15
    Hi, thanks for letting me know. What render pipeline are you using? What is your Unity Editor version? I have tested on a sphere object as you stated. It seems to be working fine for the highlight feature.
    The following is using Built-in render pipeline with sphere under another sphere and set the parent sphere as Target object.
    Screen Shot 2022-05-12 at 12.28.52 AM.png

    I also tested following in URP. It seems to be working fine.
    Screen Shot 2022-05-12 at 12.28.13 AM.png

    Do you mind showing how you were using and your test scenario? Thanks a lot.
     
  8. Sloyserg

    Sloyserg

    Joined:
    Apr 8, 2014
    Posts:
    11
  9. hsvstudio1011

    hsvstudio1011

    Joined:
    Apr 20, 2022
    Posts:
    15
    Hi, I see what you mean right now. You are not testing out the mesh highlight.
    I think it has something to do with automatically calculated bounds of Target.
    Let me do some testing on that case. I will get back to you tomorrow. It is a bit late now:D
     
  10. Sloyserg

    Sloyserg

    Joined:
    Apr 8, 2014
    Posts:
    11
    Sure thanks man, take your time. ;)
     
  11. hsvstudio1011

    hsvstudio1011

    Joined:
    Apr 20, 2022
    Posts:
    15
    Hi, I just did a quick test on Unity 2020.3 latest release. The module seems to highlight Target fine with "Quad" under parent object. As you can see, the white quad is on top of Tank object.
    Screen Shot 2022-05-12 at 1.07.59 AM.png
    What settings for the module and Target are you using? I will try out Unity 2021 tomorrow to see.
    I really glad you enjoy the asset. Thanks a lot;)
     
  12. hsvstudio1011

    hsvstudio1011

    Joined:
    Apr 20, 2022
    Posts:
    15
    I found out I had 2021 installed and did a quick test. It seems working fine too. Which version of Tutorial Factory are you using? Do you mind updating to the newest and test to see if it works? Thanks a lot!
    Screen Shot 2022-05-12 at 1.17.37 AM.png
     
  13. Sloyserg

    Sloyserg

    Joined:
    Apr 8, 2014
    Posts:
    11
    Sry for the late reply, I was not able to test it yet. I am using the altest Version from your asset. I try to hurry to get back to you soon. Greets
     
  14. hsvstudio1011

    hsvstudio1011

    Joined:
    Apr 20, 2022
    Posts:
    15
    Thanks for testing out! In the next update, I will add in another option to just target the Transform itself instead of including all of its children. This will give you flexibility to do any highlighting. Thanks!
     
    Sloyserg likes this.
  15. Sloyserg

    Sloyserg

    Joined:
    Apr 8, 2014
    Posts:
    11
    I tried to reproduce my problem, but somehow It works now. Idk why :D

    That feature sounds promising! Keep up the good work! Greets
     
  16. hsvstudio1011

    hsvstudio1011

    Joined:
    Apr 20, 2022
    Posts:
    15
    Awesome, I am glad it works!
     
    Sloyserg likes this.
  17. abhi93

    abhi93

    Joined:
    Nov 18, 2016
    Posts:
    6
    Hi there! The demo scene doesn't work for me after importing.

    I get these errors:

    NullReferenceException: Object reference not set to an instance of an object
    HSVStudio.Tutorial.HSVTutorialManager.CanPlayTutorial (HSVStudio.Tutorial.HSVTutorialObject tObj) (at Assets/Plugins/HSVStudio Tutorial Factory/Scripts/HSVTutorialManager.cs:981)
    HSVStudio.Tutorial.HSVTutorialManager.PlayTutorial (System.Int32 step) (at Assets/Plugins/HSVStudio Tutorial Factory/Scripts/HSVTutorialManager.cs:875)
    HSVStudio.Tutorial.HSVTutorialManager.StartStage (HSVStudio.Tutorial.HSVTutorialStage stageObj, System.Boolean autoStart) (at Assets/Plugins/HSVStudio Tutorial Factory/Scripts/HSVTutorialManager.cs:686)
    HSVStudio.Tutorial.HSVTutorialManager.PlayStage (System.Int32 stageStep, System.Boolean autoStart) (at Assets/Plugins/HSVStudio Tutorial Factory/Scripts/HSVTutorialManager.cs:572)
    HSVStudio.Tutorial.HSVTutorialManager.PlayStage (System.Boolean autoStart) (at Assets/Plugins/HSVStudio Tutorial Factory/Scripts/HSVTutorialManager.cs:613)
    HSVStudio.Tutorial.HSVTutorialManager.Update () (at Assets/Plugins/HSVStudio Tutorial Factory/Scripts/HSVTutorialManager.cs:516)



    NullReferenceException: Object reference not set to an instance of an object
    HSVStudio.Tutorial.TMEditor.HSVModuleConfigDrawer.CacheModule (UnityEditor.SerializedProperty property) (at Assets/Plugins/HSVStudio Tutorial Factory/Scripts/Editor/HSVModuleConfigDrawer.cs:42)
    HSVStudio.Tutorial.TMEditor.HSVModuleConfigDrawer.OnGUI (UnityEngine.Rect position, UnityEditor.SerializedProperty property, UnityEngine.GUIContent label) (at Assets/Plugins/HSVStudio Tutorial Factory/Scripts/Editor/HSVModuleConfigDrawer.cs:159)
    UnityEditor.PropertyDrawer.OnGUISafe (UnityEngine.Rect position, UnityEditor.SerializedProperty property, UnityEngine.GUIContent label) (at <091d339d138346aa90aa98b5607c9126>:0)
    UnityEditor.PropertyHandler.OnGUI (UnityEngine.Rect position, UnityEditor.SerializedProperty property, UnityEngine.GUIContent label, System.Boolean includeChildren, UnityEngine.Rect visibleArea) (at <091d339d138346aa90aa98b5607c9126>:0)
    UnityEditor.PropertyHandler.OnGUI (UnityEngine.Rect position, UnityEditor.SerializedProperty property, UnityEngine.GUIContent label, System.Boolean includeChildren) (at <091d339d138346aa90aa98b5607c9126>:0)
    UnityEditor.EditorGUI.PropertyFieldInternal (UnityEngine.Rect position, UnityEditor.SerializedProperty property, UnityEngine.GUIContent label, System.Boolean includeChildren) (at <091d339d138346aa90aa98b5607c9126>:0)
    UnityEditor.EditorGUI.PropertyField (UnityEngine.Rect position, UnityEditor.SerializedProperty property, System.Boolean includeChildren) (at <091d339d138346aa90aa98b5607c9126>:0)
    UnityEditor.EditorGUI.PropertyField (UnityEngine.Rect position, UnityEditor.SerializedProperty property) (at <091d339d138346aa90aa98b5607c9126>:0)
    HSVStudio.Tutorial.TMEditor.HSVTutorialObjectsDrawer.OnGUI (UnityEngine.Rect position, UnityEditor.SerializedProperty property, UnityEngine.GUIContent label) (at Assets/Plugins/HSVStudio Tutorial Factory/Scripts/Editor/HSVTutorialObjectDrawer.cs:376)
    UnityEditor.PropertyDrawer.OnGUISafe (UnityEngine.Rect position, UnityEditor.SerializedProperty property, UnityEngine.GUIContent label) (at <091d339d138346aa90aa98b5607c9126>:0)
    UnityEditor.PropertyHandler.OnGUI (UnityEngine.Rect position, UnityEditor.SerializedProperty property, UnityEngine.GUIContent label, System.Boolean includeChildren, UnityEngine.Rect visibleArea) (at <091d339d138346aa90aa98b5607c9126>:0)
    UnityEditor.PropertyHandler.OnGUI (UnityEngine.Rect position, UnityEditor.SerializedProperty property, UnityEngine.GUIContent label, System.Boolean includeChildren) (at <091d339d138346aa90aa98b5607c9126>:0)
    UnityEditor.PropertyHandler.OnGUILayout (UnityEditor.SerializedProperty property, UnityEngine.GUIContent label, System.Boolean includeChildren, UnityEngine.GUILayoutOption[] options) (at <091d339d138346aa90aa98b5607c9126>:0)
    UnityEditor.EditorGUILayout.PropertyField (UnityEditor.SerializedProperty property, UnityEngine.GUIContent label, System.Boolean includeChildren, UnityEngine.GUILayoutOption[] options) (at <091d339d138346aa90aa98b5607c9126>:0)
    UnityEditor.EditorGUILayout.PropertyField (UnityEditor.SerializedProperty property, UnityEngine.GUILayoutOption[] options) (at <091d339d138346aa90aa98b5607c9126>:0)
    HSVStudio.Tutorial.TMEditor.HSVTutorialManagerEditor.DrawStageElementWithDetail (UnityEditor.SerializedProperty property) (at Assets/Plugins/HSVStudio Tutorial Factory/Scripts/Editor/HSVTutorialManagerEditor.cs:1014)
    HSVStudio.Tutorial.TMEditor.HSVTutorialManagerEditor.OnInspectorGUI () (at Assets/Plugins/HSVStudio Tutorial Factory/Scripts/Editor/HSVTutorialManagerEditor.cs:428)
    UnityEditor.UIElements.InspectorElement+<>c__DisplayClass59_0.<CreateIMGUIInspectorFromEditor>b__0 () (at <d89c608915944df18d05e069483f8332>:0)
    UnityEngine.GUIUtility:ProcessEvent(Int32, IntPtr, Boolean&)
     
  18. abhi93

    abhi93

    Joined:
    Nov 18, 2016
    Posts:
    6
    Same when I try to set up a new Tutorial Manager and add any modules to it.

    I am on Unity
    2021.2.9f1 URP
     
  19. hsvstudio1011

    hsvstudio1011

    Joined:
    Apr 20, 2022
    Posts:
    15
    Hi, I would be glad to help. Could you give me more details about the error?
    I test a fresh install on a new project for the demo. The demo scene is working fine. Maybe there is something going on for your setup that causes the error. Which stage and tutorial is it playing that gives the error? Is it inside the playmode or editmode? Do you mind giving me the steps to reproduce the error? Thank you so much. By the way, you could always ask me on Discord channel.
     
  20. abhi93

    abhi93

    Joined:
    Nov 18, 2016
    Posts:
    6
    Can I have the link for your Discord Channel? The link on Asset Store Listing is invalid.
     
  21. hsvstudio1011

    hsvstudio1011

    Joined:
    Apr 20, 2022
    Posts:
    15
  22. hsvstudio1011

    hsvstudio1011

    Joined:
    Apr 20, 2022
    Posts:
    15
    You could join with the link above. I am really sorry for outdated discord link.
     
  23. hsvstudio1011

    hsvstudio1011

    Joined:
    Apr 20, 2022
    Posts:
    15
    Could you try fresh install of the asset? I saw the installation path of Tutorial Factory is moved from its original installation path to your plugin folder.
    This error is caused by missing module config object inside the tutorial object. I am checking the version 2021.2.9f1 to see if the [SerializedReference] attribute has problem in that version. Normally, it shouldn't have any problem with 2020.3 or 2021.3.
     
  24. hsvstudio1011

    hsvstudio1011

    Joined:
    Apr 20, 2022
    Posts:
    15
    Hi, I located where the error comes from. I think here is why you are getting the error. Since you move the entire assets under plugin folder, Unity is unable to find the reference class which indicated by [SerializedReference] attribute for all ModuleConfig classes. Hence, all the module classes are basically missing from the assembly when you move the folder. I suggest you leave the installation path at where it is. If you really want to move the directory, I have to think about a way which may not come up quick recently since this is Unity's internal serialization system. I can't do much about that. I am really sorry for such inconvenience. Just drop me in questions on Discord or forum if you have any problem. Thank you for using Tutorial Factory!
     
  25. DragonCoder

    DragonCoder

    Joined:
    Jul 3, 2015
    Posts:
    1,493
    This asset reminded me of a video I think people should watch before designing a tutorial for their game!
    Hope it's okay to link:
     
  26. hsvstudio1011

    hsvstudio1011

    Joined:
    Apr 20, 2022
    Posts:
    15
    Hey, that is a great video. Thank you so much!