Support

Questions fréquentes

Des réponses directes sur la taille du build, les polices, l'atlas de glyphes et les performances à l'exécution — distillées à partir de vraies questions de développeurs.

Taille du build & distribution

UniText alourdit-il la taille de mon build ? Qu'est-ce qui finit réellement dans le build ?

La taille dépend de la plateforme, des architectures, du stripping et de la compression. Les atlas de glyphes sont générés à l’exécution. Les assets de police possèdent leurs données ; les fichiers .ttf et .otf d’origine ne servent qu’à l’éditeur. Les lecteurs natifs utilisent un cache disque, WebGL intègre les données.

Dois-je conserver et livrer les fichiers .ttf ?

Les assets de police possèdent leurs données ; les fichiers .ttf et .otf d’origine ne servent qu’à l’éditeur. Les lecteurs natifs utilisent un cache disque, WebGL intègre les données.

Dois-je même importer le .ttf dans mon projet ?

Non. Vous pouvez construire un UniTextFont à partir d'un .ttf situé n'importe où sur votre disque via la fenêtre d'outils UniText (la boîte de dialogue de fichier lit les octets directement). Importer la police dans le projet est facultatif.

Combien UniText ajoute-t-il réellement à un build vide ?

La taille dépend de la plateforme, des architectures, du stripping et de la compression. Les atlas de glyphes sont générés à l’exécution.

Comment UniText se compare-t-il à TextMesh Pro pour le CJK ou les grandes polices ?

Sélection automatique des polices système. Les fichiers personnalisés sont facultatifs sur ordinateur et mobile ; WebGL utilise les polices assignées. Les nouveaux glyphes demandent une rastérisation et un transfert. Les glyphes en cache sont réutilisés jusqu’à leur invalidation ou éviction.

Puis-je charger des polices dynamiquement depuis un serveur ou un CDN ?

Oui — cela relève du côté du développeur, et UniText ne s'y oppose pas. Téléchargez les octets de la police avec votre propre code (UnityWebRequest) et construisez-en un UniTextFont à l'exécution via CreateFontAsset(byte[]). Pour réduire une police aux seuls caractères dont vous avez besoin (subsetting), utilisez l'outil d'UniText disponible au moment du build. Il n'y a pas d'auto-chargeur CDN intégré dans le package — c'est délibérément la responsabilité du projet, pas celle du moteur.

Polices & polices système

UniText peut-il utiliser la police système de l'OS ? Qu'est-ce que cela coûte en mémoire et au démarrage ?

Sélection automatique des polices système. Les fichiers personnalisés sont facultatifs sur ordinateur et mobile ; WebGL utilise les polices assignées.

WebGL prend-il en charge les polices système ?

Sélection automatique des polices système. Les fichiers personnalisés sont facultatifs sur ordinateur et mobile ; WebGL utilise les polices assignées.

Font Memory Mapping

Les grands fichiers de police sont lus sur disque à la demande, sans copie complète dans la mémoire managée. Les polices inutilisées restent compressées. WebGL et les polices intégrées dans l’éditeur gardent leurs données en mémoire. Les polices issues de fichiers utilisent le mappage mémoire.

De vraies polices pixel

Pixels nets, détection automatique de la grille, effets et animations alignés. Les polices pixel vectorielles et bitmap partagent le même système de styles. Les multiples entiers de Pixel Grid sont exacts au pixel. Snap To Pixel Grid aligne aussi effets et animations ; sa désactivation permet les déplacements sous-pixel.

Atlas de glyphes — SDF Detail & Tile Size

Que font réellement « SDF Detail » et « Tile Size Offset » ?

Les glyphes résident dans des tuiles de trois tailles — 64, 128, 256 — et la taille est choisie selon la complexité du contour (beaucoup de segments → 128/256, un contour simple → 64). • SDF Detail est un multiplicateur appliqué à l'estimation de complexité. Augmentez-le et un glyphe déjà non trivial a plus de chances de passer à une tuile plus grande. (Une forme réellement simple reste à 64 — le multiplicateur n'affecte que les glyphes au-dessus du seuil.) • Tile Size Offset est un décalage ferme le long de l'échelle des tailles (choix 64 + décalage 1 → 128 ; plage −2..+2).

Lequel des deux dois-je privilégier pour les performances ?

Aucun des deux isolément — les deux ne font que déterminer la taille finale de la tuile, et le coût est fixé par cette seule taille. Deux combinaisons qui aboutissent à la même taille de tuile coûtent exactement la même chose. Visez la plus petite taille de tuile qui offre encore une qualité acceptable.

Performances à l'exécution

Quand UniText rastérise-t-il les glyphes ? Copie-t-il la mémoire à chaque frame ?

Les nouveaux glyphes demandent une rastérisation et un transfert. Les glyphes en cache sont réutilisés jusqu’à leur invalidation ou éviction.

Pourquoi y a-t-il un bref à-coup lorsqu'une grande quantité de nouveau texte apparaît d'un coup ?

Les nouveaux glyphes demandent une rastérisation et un transfert. Les glyphes en cache sont réutilisés jusqu’à leur invalidation ou éviction.

Je ne vois pas de job UniText dans le Profiler — le multithreading fonctionne-t-il vraiment ?

Core coordonne le texte avant le rendu. Ses threads et Burst traitent les charges importantes ; les modifications locales invalident les étapes concernées.

MonoBehaviour.Update() nuit-il aux performances ? A-t-on besoin d'un UniTextManager unique ?

Core coordonne le texte avant le rendu. Ses threads et Burst traitent les charges importantes ; les modifications locales invalident les étapes concernées.

Assistance et discussions

Discord est le canal principal pour les questions, demandes d’aide et discussions. Les signalements de bugs et les demandes de fonctionnalités passent par le suivi public des tickets.

Assistance et discussions: [email protected]