 | Known Issues |
This page lists all known issues with the current version of HyperText.
Requirements
HyperText requires Unity 4.7.0 or later.
Although alpha and beta releases of Unity are not officially supported, this package will sometimes be updated
during test cycles to add support as feasible.
Patch releases are not officially supported! Use them at your own risk.
Limitations-
The Open URL Patterns property is only compatible with http, not https. Unity's Application.OpenURL() method will hang up when trying to open a page using https.
-
Quad sprites packed in an atlas must use rectangle packing; tight packing is not currently supported. The easiest method is to use the "[RECT]" prefix on the Packing Tag for any sprites that will be used as quads. See the
Sprite Packer documentation
for more information.
-
All geometry is currently generated using Unity's
TextGenerator, which imposes the following restrictions:
-
Font style and size effects can only be applied to dynamic fonts.
-
The innermost <color> tags take precedence. A link wrapped in a custom tag will appear using the link color, while a custom tag wrapped in a link will appear using the custom tag color. Quads will always use the color of the link style if a link ID is specified for them. Otherwise, they will use their own color.
-
Links do not currently support keyboard- or controller-based navigation.
-
Links will not respond to mouse events for pointer positions outside the HyperText's RectTransform. Support for horizontal and vertical overflow is limited as such.
-
HyperText.Raycast() will only return true if it is marked as a raycast target and the specified pointer position is over a link. This contrasts with the built-in Text component, which simply tests against the entire rect. Consequently, a HyperText object cannot not serve as a raycast target for a parent object that handles pointer click or pointer down events (i.e. a parent object with a Button component) because it will receive these events itself when the raycast succeeds. The recommended approach in such cases is either 1) add a Graphic of some kind (even an empty one that acts as a raycast target) the the Button itself or 2) use links on your HyperText object to handle pointer click/down events directly.
-
It is recommended that you use IL2CPP where applicable, but if you need to use legacy Mono AOT for testing purposes, you must set the CANDLELIGHT_MONO_AOT scripting define symbol for the target platform in your player settings. Note that this change will come at a reduction in performance and that there may be other unexpected effects. Please report any problems you encounter!
Bugs-
Because Unity always triggers a geometry update when the inspector changes, a link's color will automatically switch when using the inspector toggle to enable/disable links. Fade duration is still respected when toggled via code.
-
All geometry is currently generated using Unity's
TextGenerator, which introduces the following bugs:
-
Differently sized text will apply an incorrect vertical offset on the line on which it appears, unless it spans more than one line.
-
Quads whose width is greater than their height causes the line of text to have an incorrect vertical offset.
-
There are some circumstances under which quads do not wrap properly when occurring where a line break should be. In versions of Unity older than 5.3.0, these quads will be rendered outside the rectangle at the end of the line. Watch especially for this problem when using the resizeTextForBestFit property.
-
In Unity 5.3.x, quads occuring across a line break or at the start of the text will sometimes break horizontal alignment and can occasionally cause a hard crash in Unity. Using the alignByGeometry option can sometimes fix the problem for quads occurring at the start of the text.