Version History
Version notes for the asset Modular 3D Text
Last updated
Version notes for the asset Modular 3D Text
Last updated
Fixed a bug with folder GUIID.
Fixed a bug with UIToolkit loading null fonts for the Editor Window.
Added a toggle to layouts to enable/disable gizmos and they are only shown when the object is selected.
Bugfix: Fixed a bug with the font creator sometimes printing an unnecessary error debug log when a faulty font is selected.
Bugfix: The scale change module's start delay working as intended now.
Added method to make it easier to switch modules runtime.
Fixed a bug with circular layout not updating bounds if it was added runtime.
Fixed a minor bug with the text updater.
Horiztonal Selector's onValueChanged event will now pass the current value as a dynamic parameter.
Horiztonal Selector's value change speed can now be optionality slowed down to better work with lists with sliders where the left/right arrow key press was either too slow for the slider or too fast for the horizontal selector.
Minor color change to the main asset editor window.
Minor change to the font preview information label wrapping.
Toggle inspector updated to UIToolkit
Bugfix: Fixed a bug with an unused header file.
Redesigned asset window using UIToolkit implemented and legacy one removed.
Minor UI improvements to the font creator window.
Usability improvements to the light mode inspector labels.
Removed unnecessary logs.
'kern' table is now processed by the font creator.
Bugfix: Fixed a bug caused by the new input system package not being installed in new projects.
The default Unity version has been updated to 2021 to comply with asset store rules.
New: New font creator editor window in UIToolkit with a preview of the mesh with wireframe, vertex count, etc.
Better debug logs for 3D Text that can be controlled by the debug foldout in the Text Inspector.
Bugfix: Linear layout for combined meshes.
Bugfix: API Compatibility with Unity version 2023.
Fixed a bug where linear layouts and volume layouts on text weren't working as intended.
Added a button on fonts to update all instances of it in the scene.
Fixed a bug with prefab settings getting hidden in prefab isolation mode. Thanks again, David Barlia.
Fixed a bug domain reloads breaking prefab on instance updated listeners.
Added an option to always update texts in editor mode.
Fixed a bug with the vertex density value not working when creating fonts. Thanks, David Barlia.
Major refactoring to the entire layout system. The layouts should be faster and have more options to modify to get the vision you have.
Added volume layout group.
Added element updaters, a type of module that is only used by layouts. It can be used to animate position & rotation changes.
3D Text should work better on Canvas now. Requires the usage of grid layouts, canvas to use screen space camera, and update on recttransform's width/height change isn't automatic.
Bugfix: Duplicating text and updating the copy was causing the original to be removed.
Bugfix: Assembly definition file name typo that caused the editor window to not find it.
Some tooltip update.
3D Text inspector's text area now wraps around sentences for a slightly better usage experience.
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.
Removed an unnecessary debug log. (That's it)
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.
XR Toolkit support package added.
InputField.cs - outOfFocusBackgroundMat renamed to normalBackgroundMaterial - hoveredBackgroundMaterial has been added - FocusToggle() has been added.
Fixed a bug with slider background rotation being reset.
Fixed a bug that printed an error once when changing layout components in the editor.
Major: Fixed errors with the asset being imported into Unity version 2023. Thanks SrYano !
Fixed a bug with linear layouts.
Updated colors for the asset editor window for better clarity in Editor Lght mode.
Minor: Modified import settings for some sample scene textures.
Minor: Single mesh inspector setting design updated slightly.
Fixed an error with the package importer not saving the auto check update setting. Thanks JuniorLongfellow !
Fixed a script error with the new input system. Thanks again qwert024 !
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.
Fixed a bug with runtime mesh generation memory problem. Thanks qwert024 !
Some minor code cleanup. Little to no impact on asset usage.
Added method OpenTouchScreenKeyboard() and CloseTouchScreenKeyboard()
Renamed "onSelect" to "selected" for code consistency with rest of the asset.
onSelectModuleContainers
to selectedModuleContainers
applyOnSelectModuleContainers
to applySelectModuleContainers
ignoreChildOnSelectModuleContainers
to ignoreChildSelectedModuleContainers
Renamed "onPress" to "beingPressed" for clarity about the fact that this is called constantly while the UI element is being pressed.
onPressModuleContainers
to beingPressedModuleContainers
applyOnPressModuleContainers
to applyBeingPressedModuleContainers
ignoreChildOnPressModuleContainers
to ignoreChildBeingPressedModuleContainers
Renamed "onClick" to "pressComplete" for clarity about what it does.
onClickModuleContainers
to pressCompleteModuleContainers
applyOnClickModuleContainers
to applyPressCompleteModuleContainers
ignoreChildOnClickModuleContainers
to ignoreChildPressCompleteModuleContainers
Renamed "unSelect" to "unSelected" for consistency with rest of the asset.
unSelectModuleContainers
to unSelectedModuleContainers
applyUnSelectModuleContainers
to applyUnSelectedModuleContainers
ignoreChildUnSelectModuleContainers
to ignoreChildUnSelectedModuleContainers
Renamed "unSelect" to "unSelected" for consistency with the rest of the asset.
onUnselect
to unselectEvent
unSelectModuleContainers
to unSelectedModuleContainers
applyUnSelectModuleContainers
to applyUnSelectedModuleContainers
Renamed "onSelect" to "selected" for code consistency with the rest of the asset.
onSelect
to selectedEvent
onSelectModuleContainers
to selectedModuleContainers
applyOnSelectModuleContainers
to applySelectModuleContainers
Renamed "onPress" to "beingPressed" for clarity about the fact that this is called constantly while the UI element is being pressed.
whileBeingClicked
to beingPressedEvent
onPressModuleContainers
to beingPressedModuleContainers
applyOnPressModuleContainers
to applyBeingPressedModuleContainers
ButtonBeingPressedModuleUpdate to
Renamed "onClick" to "pressComplete" for clarity about what it does.
onClick
to pressCompleteEvent
onClickModuleContainers
to pressCompleteModuleContainers
applyOnClickModuleContainers
to applyPressCompleteModuleContainers
Method PressedButtonClickStopped()
to PressCompleted()
Method OnClickButtonModuleUpdate()
to PressCompleteButtonModuleUpdate ()
bool selected
renamed to focus
for consistency with the rest of the asset about what it does
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.
Bugfix: Fixed a bug where the 'repositioning old characters' setting was not being applied.
Minor inspector improvement and small editor-only inspector bug fix.
(Paid Major upgrade)
A significant overhaul of the asset. Please remove the old version of the asset if you are updating it and do it when you have time.
Inspector updates of every single UI element to improve readability and efficiency.
Avoid pink materials by automatically importing the right materials for your pipeline using an in-house importer tool.
Better undo/redo support.
Namespace modification for clarity and extendability. (Link)
More detailed documentation to modify or add functions to the asset.
Vertical wrap/overflow modes for Grid Layout and more spacing styles.
Better controls for Circular layouts.
Optional setting to always update layouts in play mode.
Separate input processors for default and new input systems making it easier to debug/modify/build new systems.
More background types for the slider.
Input field content types support.
Ability to set up 'Assembly Definition' files with a click of a button.
Major refactoring to the naming schema of scripts to match other standard assets.
Reorganize folder structures as a method to future-proof.
Layouts now work in Canvas
UV remapping option added.
It is easier now to find the right section of documentation using help URLs and custom buttons right in the inspector.
and much more minor improvements.
Password mode for the input field.
Added ability to create fonts runtime.
Bugfix: The first space in the first line before the first word was getting ignored.
Added option to apply module on pre-existing texts on instantiated or on enable.
Updated the tooltip for clarity.
Bugfix: Linear and circular layout auto-update for combined texts, fixed.
Bugfix: Touchscreen input fixed for raycaster input for the new input system.
For non-text Grid Layout Groups, added Line spacing style options: Maximum (Previously default), minimum, and individual spacing settings.
Modules only apply to new characters added now regardless of the combined text setting.
Layout element gizmos now rotate properly.
I have marked all sample scene items visible in the hierarchy.
Bugfix: Modified import settings on icon texture to avoid a bug
Added an advanced setting in the text to run module coroutine from character object to avoid coroutine interruption in case text is disabled/destroyed while a deleted character was running in a module.
Updates to sample scenes.
Bugfix: Fixed a bug with the legacy input system where the wrong submit event was getting called if the "tick rate" was set to 0.
Bugfix: DLL target fix for different platform build targets.
Bugfix: Fixed an error that appeared, if both input systems were enabled.
Settings file load system changed for slightly better in-editor performance.
Bugfix: The word spacing setting on the text is working now.
Bugfix: "Gridlayout" delayed character deletion position bugfix.
Default settings window created.
List, Button code variable renaming for better consistency among the codebase according to a suggestion by a user.
Included material names have been appended with "MText_" according to suggestions.
Bugfix: The default input action asset is now correctly assigned.
(Free Major upgrade)
Please completely remove the old asset from your project before updating it. I suggest updating only if you have some time or are on a new project.
Better Single Mesh workflow: The new workflow massively improves the in-editor experience and prefab interaction.
Layout systems overhaul: The layout system is separate from the rest now. So, it is easier to reuse it and create custom layout systems to fit your need. They can be used for any usage, even outside the UI/text system like creating a row of tiles, fences, and buildings.
Better language support: 3D Fonts now keep the data from the original TTF file. So, missing characters can be created at runtime. This means improper character range input is less punishing. In the previous version of the asset, it couldn't handle languages like Korean or Chinese because combined letters weren't included in the 3d font because there are too many of them to hold individually. But, now it can generate them when needed as long as the original file data is kept.
Better spacing: In previous versions, the asset would use character bounds to set the position of each character. This would often create a different look than its 2d counterpart. Now, this is moved to a setting that can be turned on/off, and by default, the font will use the original "advance"/spacing specified in the TTF file for positioning.
New input System Support Added.
Module systems overhaul: Modules are easier to modify for each instance. It also improves the inspector for custom modules.
Individual character control: There are more options to modify how each character looks by selecting the 3D font file.
Removed built-in pooling.
A lot of new pre-built fonts were added.
UI improvements.
Unimportant stuff is hidden from sample scenes now.
Bugfix: Fixed an instance where texts were setting the scene dirty for no reason.
Bugfix: Some sample scenes weren't working as intended. Fixed.
Bugfix: Fixed a bug where old texts weren't cleaned up properly if updated when the text was inactive.
Bugfix: Fixed text updater empty mesh check.
Bugfix: Scripting define fix that was causing build error.
Bugfix: Parent scale not properly applied to text.
Module tutorial updated.
Bugfix: Toggle sample scene references the new asset properly now.
Input field performance improvement.
Updated asset to the 2019 Unity version to comply with upcoming Asset store requirements.
Bugfix: List/Button visual updates now sets text dirty to mark/save changes.
Bugfix: In-editor, List/Button no longer updates text unnecessarily.
Bugfix: Fixed a bug where controlling the list with the keyboard when the list had 0 elements caused an error.
In editor dark mode, modules have better coloring.
Updated almost all inspectors.
Editor performance improvement.
Bugfix: Fixed a bug that was causing an issue creating new lines in text in Editor.
Editor performance improvement.
Fixed a bug where there was a single frame delay in updating texts in editor Play mode.
Added a check to make sure text can't be updated multiple times before getting rendered once to avoid performance hog because of random scripts controlling the text abnormally. This can be turned off from advanced settings.
(Free Major upgrade)
Major refactoring was done to the text component.
Most variables have been turned into properties to automate text updates. So, it is no longer needed to call UpdateText(). But the public methods are still kept to not break existing codes.
Input String has been renamed to the input field to match Unity's UI.
Toggle's "active" variable has been renamed to "isOn" to match Unity's UI.
Toggle's active & inactive item is game-object now, instead of a list.
Fixed a bug where in Editor mode, texts might not update properly via the input field.
Added an option in Text to enable editor-only console logs for debugging.
Directly setting the text of the Input field will automatically update it.
All codes from the slider handle have been moved to the slider. The handle is no longer required to update the slider.
The input field will automatically update if you set the text.
Toggle will automatically update if you set the IsOn property.
Code refactoring and added more comments.
Modular 3D Text now has a text-anchor variable that behaves exactly the same as unity text's text anchor. The previous variables have been marked obsolete.
New UI element: Horizontal Selector
Code cleanup.
Font changes are instantly applied in the current scene.
Disallow multiple elements added.
Option in Raycast selector to unselect button from the list when not hovering.
Fixed a bug where animation was not triggering if 'AutoSelect First Item' wasn't selected.
Bugfix: Fixed a bug where a chance to have unnecessary error log pops up when editing prefab in the prefab asset window.
Bugfix: Combined meshes are no longer needed to be saved to persist between scenes. They are automatically created if missing.
Auto-create in play mode is on by default now.
Modular 3D Text now has an extra component that manages to update the text in Editor.
Editor Code cleanup in letter and text
More options in Preference.
Editor UI improvements. Thanks, Daniel Rainville for the advice.
The font creator naming convention changed. Will avoid the rare occasions where illegal character names could cause errors
Fallback fonts added.
The local scale is applied properly now.
Undo properly updates texts now.
Fixed a bug with font creation failing for certain countries that use commas instead of dots for decimal separators. Fixed thanks to Alexander Shimanov!
Better spacing.
Tool-tip improvement.
Added option to hide letters in the hierarchy.
Inspectors now remember their layout. Improves ease of use greatly.
Import settings for included fonts updated to remove unnecessary materials.
Toggle script refactored - Toggle scene bug-fix - Slider handle script refactored.
Slider value range events now check value range events first to avoid errors.
The slider handle gives a warning when a slider isn't assigned.
Slider right to left bug-fix.
Check added to remove duplicates from the character range of font creation.
Fixed a bug where free layout items were moving when selected.
Fixed a bug where the first item selected event was called even if a list wasn't active.
Introducing different more standard ways include character range when creating fonts. Along with the previous character range
Unicode range
Custom characters
Unicode sequence (Similar to TMPro)
New:
Sample scene: Damage effect example usage script has been removed and replaced with StatusToolTip script with more functionality and for ingame usage, not just example usage.
Changes:
In-Editor font creator now adjusts vertex density automatically. Before some characters were too complicated to create with low vertex density. So, all characters should be included in the font created inside the editor without the user needing to do anything manually.
Bugfix: Script error with mesh combiner.
In-editor font creator will work a bit better now.
In-editor font creator can export font as a mesh instead of OBJ too.
A few more scripts are out of DLL(Mesh/Obj exporter & some helper classes.
Scripts have been positioned better for assembly definition files.
Some under-the-hood changes to in-editor font creator. Complex geometries should work a bit faster.
Sliders can now have events based on the percentage left.
Sample Scene 14: Damage Effects have been updated with a new slider feature.
(New!) Sample Scene 16: Chest
(New!) Position change module
Editor font converter.
New:
To Upper Case, To Lower Case Toggle
Particle system module
Sample scene for particle module
New utility panel customization tab to set up default font/material etc. Or just update every item in the scene. It's still in active development and will have more features added later. Found in Tools > Modular Text.
Changes:
Slider & Input string visual update methods now take style options from List just like buttons.
The online documentation has been moved to GitBook.
API Changes are listed in the documentation.
Bugfix:
Fixed a bug where text alignment was one character off when centered and two off when aligned right.
The circular Layout Text works a bit better now.
New:
Loop animations,
Sample Scene: Shop Sign (Loop animation)
Sample Scene: Damage Effects
The slider has a new method UpdateValue(int/float)
Changes:
Slight improvement to the VR Sample scene.
Add Rigidbody module has more options now and has a bouncy physics material assigned by default.
Some built-in fonts improvement.
Fixes a bug with ".", the dot. Looks like it was introducing some other small annoyances.
Circular text early version added.
Removed the "You can't have any other child object of the object with Modular3DText attached" limitations.
Massive Inspector UI improvements. Such as options to enable or disable specific styles from applying.
Modules now work with List & Buttons.
Large Text combining bug fixed.
Fixed a bug where unselect event was being called twice
Custom delete after duration option added
Added 25+ new fonts (Total 50+)
The progress bar has been added.
Fixed a bug with floating points.
Sample scene update.
New button-style models were added.
Button mouse clicks behavior updated.
Added non-English language support
Code comments cleanup
On-input and On-Backspace events added for input-field
Added a warning check when a font asset is not assigned while building a font.
Fixed a bug where font creation caused a single Debug.Log error once that had no impact on anything except look ugly.
Added a modules tutorial scene.
Missing graphic in toggle list now instead of null pointer error, gives a debug message with the toggle, toggle name, graphic list name, and item number.
Added a toggle for the behavior where clicking on an input field enables it and clicking somewhere else disables it. It's in the ray-caster.
UV mapping issue fixed.
Added the 3D UI system.
(Some versions before 1.2.2 weren't documented properly)
Added better spacing options.
Modular 3D Text, the unity asset to create 3D texts is released.
This update focuses on improving the experience for programmers. Added more buttons to easily reach relevant documentation. The asset uses custom inspectors to reduce clutter and make the design aspect easier. But, this can be a pain point for the programmers when trying to modify the behaviors by code. Because they then have to open up the documentation and look for the variable, which adds to the time required. Now, the tooltips for these variables also include variable names.