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. Dismiss Notice

Modular 3D Text - Complete ingame ui sytem

Discussion in 'Assets and Asset Store' started by FerdowsurAsif, Feb 4, 2020.

  1. CoreCoder

    CoreCoder

    Joined:
    Jun 11, 2015
    Posts:
    41
    using TinyGiantStudio.Text;

    Code (CSharp):
    1.  
    2.     void ShowAvailableScenes(List<SceneLoaderManager.Scene> availableScenes)
    3.     {
    4. foreach (SceneLoaderManager.Scene scene in availableScenes)
    5.         {
    6.             GameObject button = Instantiate(buttonTemplate, transform);
    7. Modular3DText buttonComponent = button.GetComponent<Modular3DText>(); // Get the button component
    8.             Text buttonText = button.GetComponentInChildren<Text>();
    9. buttonComponent.onClick.AddListener(() => SceneLoaderManager.Load(scene));
    10.             button.SetActive(true);
    11.         }
    12. }
    13.  
    How would I get this working? If I run a UI button it works but when converting it to use your 3D buttons the onClick.AddListener errors out.
    Severity Code Description Project File Line Suppression State
    Error CS1061 'Modular3DText' does not contain a definition for 'onClick' and no accessible extension method 'onClick' accepting a first argument of type 'Modular3DText' could be found (are you missing a using directive or an assembly reference?) Assembly-CSharp E:\dev\Unity\AsteroidMaze\AsteroidMaze\Assets\Scripts\Scene\SceneSelector.cs 55 Active
     
  2. FerdowsurAsif

    FerdowsurAsif

    Joined:
    Feb 7, 2017
    Posts:
    266
    Hi,
    On the 7th line, you are getting the Text component of the button. You need to get the button component. The button component holds the onClick and other UnityEvents.
    Code (CSharp):
    1. Button buttonComponent = button.GetComponent<Button >(); // Get the button component
     
  3. CoreCoder

    CoreCoder

    Joined:
    Jun 11, 2015
    Posts:
    41
    So you dont have to access Modular3DText directive for the button or the button Text? Because every time I call Button I get a :
    NullReferenceException: Object reference not set to an instance of an object
    SceneSelector.ShowAvailableScenes (System.Collections.Generic.List`1[T] availableScenes) (at Assets/Scripts/Scene/SceneSelector.cs:41)
    SceneSelector.Update () (at Assets/Scripts/Scene/SceneSelector.cs:23).

    Here is the complete file.

    Code (CSharp):
    1. using System.Collections.Generic;
    2. using UnityEngine;
    3. using UnityEngine.UI;
    4. using UnityEngine.SceneManagement;
    5. using TinyGiantStudio.Text;
    6. using Button = UnityEngine.UI.Button;
    7.  
    8. public class SceneSelector : MonoBehaviour
    9. {
    10.     public GameObject buttonTemplate; // Assign a button prefab in the Inspector
    11.     //public TextMeshProUGUI buttonText;
    12.     public GameObject JumpMenu;                     // UI Hyper Jump menu
    13.  
    14.     void Update()
    15.     {
    16.         if (Input.GetKey(KeyCode.LeftAlt) && Input.GetKeyDown(KeyCode.W))
    17.         {
    18.  
    19.             JumpMenu.SetActive(true);
    20.  
    21.             Debug.Log("Warp Key Combination Pressed - Again!");                                         // DEBUG DEBUG EDBUG
    22.             List<SceneLoaderManager.Scene> availableScenes = SceneLoaderManager.GetAvailableScenes();
    23.             ShowAvailableScenes(availableScenes);
    24.         }
    25.     }
    26.  
    27.     void ShowAvailableScenes(List<SceneLoaderManager.Scene> availableScenes)
    28.     {
    29.         //Remove all previous buttons
    30.         //foreach (Transform child in transform)
    31.         //{
    32.         //    Destroy(child.gameObject);
    33.         //}
    34.  
    35.         // Create a new button for each available scene
    36.         foreach (SceneLoaderManager.Scene scene in availableScenes)
    37.         {
    38.             GameObject button = Instantiate(buttonTemplate, transform);
    39.  
    40.             Button buttonComponent = button.GetComponent<Button>(); // Get the button component
    41.             Text buttonText = button.GetComponentInChildren<Text>();
    42.  
    43.             buttonComponent.onClick.AddListener(() => SceneLoaderManager.Load(scene));
    44.  
    45.             // Make the button visible
    46.             button.SetActive(true);
    47.         }
    48.     }
    49.  
    50. }
    Basically this file will get the surrounding galaxy names(scenes) and insantiate the buttons with the galaxy names that the player can warp / jump to.
     
  4. FerdowsurAsif

    FerdowsurAsif

    Joined:
    Feb 7, 2017
    Posts:
    266
    Remove line 6. That's changing which Button script you are using.
     
  5. CoreCoder

    CoreCoder

    Joined:
    Jun 11, 2015
    Posts:
    41
    So I got it to instantiate the buttons but how do I access the text component on the 3D buttons? If I use unities UI I dont get an error on Text buttonText = .... but if I dont use unities UI it can not find the namespace for the Text object. So using Modular3DText buttonText = ... does not trigger an error but it also wont access the 3DButton text component. Here is the code again and I do appreciate your help.
    Code (CSharp):
    1. using System.Collections.Generic;
    2. using UnityEngine;
    3. //using UnityEngine.UI;
    4. using UnityEngine.SceneManagement;
    5. using TinyGiantStudio.Text;
    6. //using Button = UnityEngine.UI.Button;
    7.  
    8. public class SceneSelector : MonoBehaviour
    9. {
    10.     public GameObject buttonTemplate; // Assign a button prefab in the Inspector
    11.     //public TextMeshProUGUI buttonText;
    12.     public GameObject JumpMenu;                     // UI Hyper Jump menu
    13.  
    14.     void Update()
    15.     {
    16.         if (Input.GetKey(KeyCode.LeftAlt) && Input.GetKeyDown(KeyCode.W))
    17.         {
    18.  
    19.             JumpMenu.SetActive(true);
    20.  
    21.             Debug.Log("Warp Key Combination Pressed - Again!");                                         // DEBUG DEBUG EDBUG
    22.             List<SceneLoaderManager.Scene> availableScenes = SceneLoaderManager.GetAvailableScenes();
    23.             ShowAvailableScenes(availableScenes);
    24.         }
    25.     }
    26.  
    27.     void ShowAvailableScenes(List<SceneLoaderManager.Scene> availableScenes)
    28.     {
    29.         //Remove all previous buttons
    30.         //foreach (Transform child in transform)
    31.         //{
    32.         //    Destroy(child.gameObject);
    33.         //}
    34.  
    35.         // Create a new button for each available scene
    36.         foreach (SceneLoaderManager.Scene scene in availableScenes)
    37.         {
    38.             GameObject button = Instantiate(buttonTemplate, transform);
    39.  
    40.             TinyGiantStudio.Text.Button buttonComponent = button.GetComponent<TinyGiantStudio.Text.Button>(); // Get the button component
    41.             //Text buttonText = button.GetComponentInChildren<Text>();
    42.             Modular3DText buttonText = button.GetComponentInChildren<Modular3DText>();
    43.            
    44.             buttonComponent.onClick.AddListener(() => SceneLoaderManager.Load(scene));
    45.  
    46.             // Make the button visible
    47.             button.SetActive(true);
    48.         }
    49.     }
    50.  
    51. }
    upload_2023-5-18_9-14-51.png
     
  6. FerdowsurAsif

    FerdowsurAsif

    Joined:
    Feb 7, 2017
    Posts:
    266
    The button has a variable called Text. You can use that to get it.

    So, your line 42
    Code (CSharp):
    1. Modular3DText buttonText = button.GetComponentInChildren<Modular3DText>();
    will be

    Code (CSharp):
    1. Modular3DText buttonText = buttonComponent.Text;
     
  7. FerdowsurAsif

    FerdowsurAsif

    Joined:
    Feb 7, 2017
    Posts:
    266
    Modular 3D Text - Version 4.0.2
    • Removed max vertices limit on combined text. So, large texts are not split into smaller ones. It can be turned on/off via the inspector.
    • Undo fixed for Grid Layout's Justice alignment setting.
    • Undo fix for creating a list.
    • Text inspector performance slightly improved.
     
  8. CoreCoder

    CoreCoder

    Joined:
    Jun 11, 2015
    Posts:
    41
    I see now how it access the components. I like the Modular 3D text it's very nicely done. One suggestion is to put some examples in the documentation how to access the components, code examples would help a lot. Thank you sir.
     
  9. FerdowsurAsif

    FerdowsurAsif

    Joined:
    Feb 7, 2017
    Posts:
    266
    Glad to hear you like it. I will spend this week adding more examples for your type of use cases.
    Feel free to ask me if you need further assistance. Always happy to help.

    Edit: Documentations have been updated.
     
    Last edited: Jun 3, 2023
  10. krakendono

    krakendono

    Joined:
    Jun 5, 2016
    Posts:
    15
    I see that the asset is deprecated on the unity asset store what happened?
     
    chgeorgiadis likes this.
  11. FerdowsurAsif

    FerdowsurAsif

    Joined:
    Feb 7, 2017
    Posts:
    266
    You must have followed a dead link to the old version. Please use this one: Link
     
  12. FerdowsurAsif

    FerdowsurAsif

    Joined:
    Feb 7, 2017
    Posts:
    266
    Modular 3D Text - Version 4.0.3
    This update focuses on improving the experience for programmers.

    Summary:
    • Added more buttons to easily reach relevant documentation.
    • The asset uses custom inspectors to reduce clutter and make the design aspect easier. Often variables can be renamed slightly for clarity. Now, tooltips for these variables also include variable names.
    • Code refactoring for inputfield.cs, list.cs, Button.cs, and HorizontalSelector.cs have been done for a consistent naming scheme among the asset.
    A full list of changes can be found here.
     
  13. FerdowsurAsif

    FerdowsurAsif

    Joined:
    Feb 7, 2017
    Posts:
    266
    Please note, years of updates have made the version list here cluttered and difficult to navigate. So, they have been moved to the documentation site. This will make it easier to keep track of everything.

    Please check the version list here for change history with dates and full details.
     
  14. Gaucho

    Gaucho

    Joined:
    Apr 21, 2013
    Posts:
    10
    Hi there,

    @FerdowsurAsif i'm currently struggeling with the VR Controller. I've got a Meta Quest 2 with 2 controllers. Unfortunatelly, i cannot find the VR Demo scene - has it been deleted?

    I'd like to be able to select buttons / ui elements via the controllers (similar to those in beat saber). This does currently only seem to support the camera, so i do have to look at them (with the camera, not point to them with the controller) in order to get them selected.

    upload_2023-6-19_15-49-30.png

    Moreover, i'm not quite sure on how to make them interactable with the controller. i've added my XRI input Actions to the Global Button Input System, but it does not receive the trigger actions.

    upload_2023-6-19_15-49-19.png

    Any clues on how to proceed?

    Best regards

    Alex
     
  15. FerdowsurAsif

    FerdowsurAsif

    Joined:
    Feb 7, 2017
    Posts:
    266
    Hi,
    You won't need the Raycast selector with the XRI toolkit. Please delete the one in the scene and go to Tools, preference and uncheck auto create scene input system. It will just interrupt testing the implementation in the scene.
    upload_2023-6-19_20-48-38.png

    -
    Manually:
    To work with the XRI Input action toolkit, you can add the XR Simple Interactable component to the button or other element you are trying to interact with. Add the Select(), Unselect() to Hover and Unhover, and then Activate() to Press() event and you are done.
    Please feel free to ask for any assistance. I will try my best to help.
    -
    Auto:
    I have been procrastinating adding an auto-event setup for the XR Simple Interactable component since my oculus quest controller battery died in the middle of making it. I will try to complete it within the next 30 hours, if I face any unexpected bug, might take 48 hours.
     
  16. Gaucho

    Gaucho

    Joined:
    Apr 21, 2013
    Posts:
    10
    Thanks a lot for the very fast and detailed reply! Can you elaborate what you ment about "Add the Select(), Unselect() to Hover and Unhover, and then Activate() to Press() event and you are done." Where should i add them? Could you maybe post a sceenshot?

    @Auto setup: Don't hurry, take your time :)
    Great asset btw!
     
  17. FerdowsurAsif

    FerdowsurAsif

    Joined:
    Feb 7, 2017
    Posts:
    266
    Thanks! for the compliment

    After you add the XR Simple Interactable component, you will notice a list of events. They will be called according to your VR controller.
    upload_2023-6-20_10-46-56.png


    Click the + Icon. Drag and drop the button to the Object field and select Function.
    Add these events:
    upload_2023-6-20_10-51-2.png

    upload_2023-6-20_10-51-15.png
     
    Gaucho likes this.
  18. qwert024

    qwert024

    Joined:
    Oct 21, 2015
    Posts:
    43
    Hi, first of all thank you for this useful asset :)
    I was wondering how to correctly combine the meshes.
    I ran the demo scene "01 Text - M3DText" with "Combine-Runtime" checked. (as shown in the screenshot).
    Whenever I edit the texts, "Meshes" count in profiler will increase and never decreases, even if I am deleting texts. And meshes' memory usage keeps increasing.
    In our game, players need to be able to create new 3D Text, and can edit + see their texts changing in real time.
    I would really appreaciate if you would help me understand how this asset handles meshes!
    image.png
     
  19. FerdowsurAsif

    FerdowsurAsif

    Joined:
    Feb 7, 2017
    Posts:
    266
    Hi,
    Thanks a lot for the compliment.
    You are right. Runtime mesh combiner was causing mesh leaks. Apologies for the problem and thanks a lot for pointing it out.
    I have fixed the issue and pushed an update. It should be live within a few hours.
     
  20. FerdowsurAsif

    FerdowsurAsif

    Joined:
    Feb 7, 2017
    Posts:
    266
    Modular 3D Text - Version 4.0.3a
    • Fixed a bug with runtime mesh generation memory problem. Thanks qwert024 !
    • Some minor code cleanup. Little to no impact on asset usage.
     
  21. FerdowsurAsif

    FerdowsurAsif

    Joined:
    Feb 7, 2017
    Posts:
    266
    How letters are retrieved:
    If it exists in the font's character list (pre-created and in an asset folder and referenced in the font), then that prefab is used.
    If not, the asset checks the original TTF data of the font for the character information and generates the mesh directly from it.

    Organized:
    After getting all the characters, it looks for an attached Layout component and gets the layout from that.

    Process:

    Depending on if mesh combine is turned on or off, it proceeds to combine or apply modules to it. If you choose to remap UV or something else, it does that during this time too.

    In most cases, you don't need to combine meshes during runtime, since it adds extra computation time.
    It also disabled modules since modules are applied to each other and the combined mesh doesn't keep separate objects.

    Feel free to let me know if you want any more details.
     
  22. qwert024

    qwert024

    Joined:
    Oct 21, 2015
    Posts:
    43
    Hi, thank you very much for quick fixing! and sorry for late reply!
    I updated the assets. It fixed the issue that mesh memory usage keeps incresing when editing texts.
    However in the same demo scene, when I destory Modular 3D Text gameobject(s), mesh count and memory usage won't decrease (no matter combine mesh in runtime is checked or not). Is this a correct behaviour? I was wondering how I can correctly delete meshes when I destroy my Modular 3D Text gameobjects and release memory?
    Thanks again!
     
    Last edited: Jun 29, 2023
  23. themuhdhilmi

    themuhdhilmi

    Joined:
    Sep 22, 2020
    Posts:
    14
    Hello, It's seems the old one is deprecated, does that mean every new major update we need to purchase new one?
     
    Ony likes this.
  24. FerdowsurAsif

    FerdowsurAsif

    Joined:
    Feb 7, 2017
    Posts:
    266
    Hello,
    The old version is fully supported. If you run into any issues, I am happy to help anytime. We don't have any ways to stop new purchases for assets without marking them deprecated.
    If you do not require the features of the new one, you don't need to purchase it.
     
  25. FerdowsurAsif

    FerdowsurAsif

    Joined:
    Feb 7, 2017
    Posts:
    266
    My pleasure!

    That doesn't seem like the intended behavior. Sorry, not sure what can cause that.

    I have added a way to track procedural character meshes in the inspector. Can you please update the asset and check if these are created/destroyed properly? (The meshes won't be named if created runtime)

    If you are using pre-created characters, this should remain empty.

    upload_2023-6-30_18-47-38.png
     
  26. FerdowsurAsif

    FerdowsurAsif

    Joined:
    Feb 7, 2017
    Posts:
    266
    Modular 3D Text - Version 4.0.4
    • Added a reference to all the generated meshes in the text for debugging.
    • Minor: Fixed Hide letters in the hierarchy setting's label design for text.
    • Minor: Added undo support to font editor character removal.
     
  27. qwert024

    qwert024

    Joined:
    Oct 21, 2015
    Posts:
    43
    Hi, thank you! This update fixed the issue I encountered. Mesh count in profiler reduced when I destroy the Modular 3D Text gameobjects.
    p.s.1 Since I am destroying the whole gameobject with Modular 3D Text script attached, I won't be able to see the debug info you added in the inspector. Anyways I think my issue has been resolved.

    p.s.2 I am using the new Unity Input System so I need "using UnityEditor", or I get compile error in some lines such as line 159 (AssetDatabase.FindAssets...). I added the line back to make it work.
    Code (CSharp):
    1. #if UNITY_EDITOR
    2. using UnityEditor; // <- I need this line
    3. #endif
    4. using UnityEngine;
    5. #if ENABLE_INPUT_SYSTEM
    6. using UnityEngine.InputSystem;
    7. #endif
    Again thank you very much! You're doing a very great support!
     
    FerdowsurAsif likes this.
  28. FerdowsurAsif

    FerdowsurAsif

    Joined:
    Feb 7, 2017
    Posts:
    266
    My pleasure! Don't hesitate to ask if you need anything else. Always happy to help. I have pushed an update with the header fix.
     
  29. JuniorLongfellow

    JuniorLongfellow

    Joined:
    Feb 27, 2013
    Posts:
    19
    There's a bug in the TGS Package Importer. Once 3D Text is installed the TGS package importer pops up when any other asset is installed. The ignore checkboxes don't work. Been having to delete this part on every update
     
  30. FerdowsurAsif

    FerdowsurAsif

    Joined:
    Feb 7, 2017
    Posts:
    266
    Hi,
    Sorry about the bug. Looks like I mistyped a string that caused the check for updates setting to not save. Fixed it and pushed an update. It's a pretty amateur mistake tbh.
    Please download the new update and change it now, it should be saved.
    And it should be disabled by default from now on for new projects/users.
     

    Attached Files:

  31. JuniorLongfellow

    JuniorLongfellow

    Joined:
    Feb 27, 2013
    Posts:
    19

    Sweet, thanks.
     
  32. FerdowsurAsif

    FerdowsurAsif

    Joined:
    Feb 7, 2017
    Posts:
    266
    My pleasure!
     
  33. SrYano

    SrYano

    Joined:
    Nov 3, 2017
    Posts:
    3
    Hi! I Just got the asset, I'm using it in a HDRP project running in Unity 2023.1.3f1
    I've ran into a problem after importing it, in the "MenuItem" script, line 22.
    Anyone else had a similar issue?
    Modular3DTextError.PNG ?
     
  34. FerdowsurAsif

    FerdowsurAsif

    Joined:
    Feb 7, 2017
    Posts:
    266
    Hi,
    Sorry about the issue.
    Looks like I made a typo. "true" is supposed to be" FindObjectsInactive.Include" here.
    I have fixed the issue and updated the asset. Hopefully, it will be available within the next hour.
     
  35. FerdowsurAsif

    FerdowsurAsif

    Joined:
    Feb 7, 2017
    Posts:
    266
    Modular 3D Text - Version 4.1.0
    1. Major: Fixed errors with the asset being imported into Unity version 2023.
    2. Fixed a bug with linear layouts.
    3. Updated colors for the asset editor window for better clarity in Editor Lght mode.
    4. Minor: Modified import settings for some sample scene textures.
    5. Minor: Single mesh inspector setting design updated slightly.
     
  36. ArteastUFO

    ArteastUFO

    Joined:
    May 19, 2017
    Posts:
    10
    Hello, Is there any way to achieve the auto-size feature like Unity's text component? I need to set a field with a certain size where the player can type their name, and the text shouldn't go beyond that field.
    So far I couldn't find this feature, please let me know if I'm missing something.

    By the way, I'm using version 3. Let me know if this feature is implemented in version 4 :)
     
  37. FerdowsurAsif

    FerdowsurAsif

    Joined:
    Feb 7, 2017
    Posts:
    266
    Sorry, at the moment auto-size feature isn't available.
    Although it won't be similar. You can set the maximum character amount for an input field.
     
    ArteastUFO likes this.
  38. krakendono

    krakendono

    Joined:
    Jun 5, 2016
    Posts:
    15
    Hey so I have the old version do I have to buy the new version?
     
    Ony likes this.
  39. FerdowsurAsif

    FerdowsurAsif

    Joined:
    Feb 7, 2017
    Posts:
    266
    Hi,
    If you want the features that come with the major upgrade, you have to. Otherwise, the older version should work with the latest Unity version and I will provide full support to the older version to the best of my ability.

    Please note that the upgrade is a significant overhaul of the asset. Please backup the project, remove the old version of the asset, and then Import it. It shouldn't cause any issues but, you might have to re-assign fonts/font sizes, etc.
     
  40. Ony

    Ony

    Joined:
    Apr 26, 2009
    Posts:
    1,973
    Not really a fan of this type of thing. I just bought this 9 months ago, and go to use it today to see that it's been deprecated and I need to buy the new version if I want the updated features. When developers do this, it makes me wary of buying anything else from them in the future. Unless there's been a major update and complete change to a tool, this practice just... I don't like it.
     
    Last edited: Aug 19, 2023
  41. FerdowsurAsif

    FerdowsurAsif

    Joined:
    Feb 7, 2017
    Posts:
    266
    I understand it can be frustrating seeing paid upgrades.
    It isn't a yearly thing. It's the only paid upgrade since the release of the asset in January 2020 and I have no intention of making another one anytime in the future. I myself do consider this a valid major upgrade. But, you can check the version history for a list of changes and decide if it is worth it for you. Every single person has different criteria for it.

    Few of the changes I can think of from the top of my head without checking,
    • UV remapping for generated meshes,
    • A better mesh memory management system if you're generating a lot of meshes runtime, with no impact on the editor or texts that do not change during runtime.
    • Large meshes can be combined into a single mesh.
    • Layouts for unity canvas
    • some updates aimed at programmers, and lots of quality-of-life improvements.

    Version history is the best way to properly check if the update will benefit your work. The asset does a lot of things and I am sure a lot of people will have zero benefit from it and some will benefit from it greatly.

    Regardless of the version you are using, I am happy to always provide support regarding anything regardless of version. Don't hesitate to contact me. Have a great day!
     
  42. FerdowsurAsif

    FerdowsurAsif

    Joined:
    Feb 7, 2017
    Posts:
    266
    Hi everyone,
    Due to unforeseen circumstances, it took longer than expected.
    But, the package for XR Interaction Toolkit is almost ready. It's a Unity Package and won't be installed with the asset by default. Just like HDRP/URP support packages.

    It adds an Update XR Interaction button on UI elements that will auto setup events to work with the Toolkit. upload_2023-8-21_19-33-20.png

    It doesn't add any extra features, so, if you already have everything implemented, it won't help.
    If you are trying to figure out how to use UI with XR Toolkit, this will save you time.


    Drop me a mail (ferdowsurasif@gmail.com or asifno13@gmail.com) with the invoice number if you want to test it early. I will add it with the next update within the next week (hopefully).

    Thanks for reading.
     
  43. FerdowsurAsif

    FerdowsurAsif

    Joined:
    Feb 7, 2017
    Posts:
    266
    Modular 3D Text - Version 4.1.1a
    (Minor editor bugfixes)
    • Fixed a bug with slider background rotation being reset.
    • Fixed a bug that printed an error once when changing layout components in the editor.
     
  44. FerdowsurAsif

    FerdowsurAsif

    Joined:
    Feb 7, 2017
    Posts:
    266
    Modular 3D Text - Version 4.2.0
    (XR Toolkit support update)
    • XR Toolkit support package added.
    • Some minor API changes to InputField.cs
     
  45. FerdowsurAsif

    FerdowsurAsif

    Joined:
    Feb 7, 2017
    Posts:
    266
    Modular 3D Text - Version 4.2.0a
    (Minor Update)

    • XR Toolkit settings were added to enable and disable raycaster creation if it exists.
    • Fixed a bug where the last installed version of a package wasn't being properly tracked by the TGS Package Manager.
     
  46. The11thAlchemist

    The11thAlchemist

    Joined:
    Aug 10, 2020
    Posts:
    15
    I agree with the sentiment of Ony. Maybe your finances necessitate this, but this feels like a bad move on your part to alienate people that already purchased your asset. Based on the advertised upgrades, I don't think many previous owners will upgrade...but now there is a sour taste regarding your brand. As with other creators that have done the same thing, I'm hesitant to look at any of your other products in the future. This is just free advice and you don't have to respond because I'm pretty sure I won't be back on this forum.
     
    Ony likes this.
  47. FerdowsurAsif

    FerdowsurAsif

    Joined:
    Feb 7, 2017
    Posts:
    266
    Thanks for the advice. From my point of view, the amount of users who upgraded has been more than sufficient.

    My guess is the people who were disappointed wouldn't have been if I just bundled up years/months of updates into a single one. I prefer regular updates since it is more convenient for everyone. In case there is a bug, it makes it much easier to pinpoint and fix it instantly. So, I will try my best to provide regular updates. And from what I understood from talking to a few customers, they prefer this way too.

    As I have said earlier, regardless of the version you are using, I am happy to always provide support regarding anything regardless of version. Don't hesitate to contact me. Have a great day!
     
  48. FerdowsurAsif

    FerdowsurAsif

    Joined:
    Feb 7, 2017
    Posts:
    266
  49. FerdowsurAsif

    FerdowsurAsif

    Joined:
    Feb 7, 2017
    Posts:
    266
    Modular 3D Text - Version 4.2.1
    • Added an optional setting to auto-switch player input focus when Focus() is called on lists. This will help automatically set up scenes with a lot of lists.
     
  50. FerdowsurAsif

    FerdowsurAsif

    Joined:
    Feb 7, 2017
    Posts:
    266
    Modular 3D Text - Version 4.2.1a
    • 3D Text inspector's text area now wraps around sentences for a slightly better usage experience.