Text assets are a format for imported text files. When you drop a text file into your Project
folder, Unity converts it to a Text Asset. The supported text formats are:
.bytes
.csv
.fnt
.htm
.html
.json
.md
.txt
.xml
.yaml
Note: When you use AssetDatabase.FindAssets
with the t:TextAsset
filter, script files are also considered a text asset, and are included in the results.
If you select a text asset in the Project windowA window that shows the contents of your Assets
folder (Project tab) More info
See in Glossary, the Inspector window displays the text content of the file.
Text assets are useful for getting text from different text files into your application while you’re building it. For example, you can use it to add a .txt
file to your project to bring the text into your application. If you’re making a text-heavy adventure game, you can put the text for each sceneA Scene contains the environments and menus of your game. Think of each unique Scene file as a unique level. In each Scene, you place your environments, obstacles, and decorations, essentially designing and building your game in pieces. More info
See in Glossary separate .txt
files and reference the text asset when a character enters the scene.
However, text assets aren’t intended for text file generation at runtime. For that you need to use input/output programming techniques to read and write external files. For more information on the ways you can generate text in Unity, refer to UI systems.
Text assets can also store binary data. If you create a file with the .bytes
extension, you can load it as a text asset and access it through the bytes
property.
For example, put a .jpeg
file into the Resources
folder and change the extension to .bytes
, then use the following script code to read the data at runtime:
//Load texture from disk
TextAsset bindata = Resources.Load("Texture") as TextAsset;
Texture2D tex = new Texture2D(1,1);
tex.LoadImage(bindata.bytes);
Unity treats files with the .txt
and .bytes
extension as text and binary files, respectively. Don’t attempt to store a binary file using the .txt
extension, because it creates unexpected behavior when attempting to read data from it.