土屋つかさの技術ブログは今か無しか

土屋つかさが主にプログラミングについて語るブログです。

#unity TextAssetを使ってcsvファイルをアセット化しUnityで読み込む

 急にダミーデータが必要になり「csvファイルを最小工数でUnityに展開する方法ないかなー」とググッていたら、テキストアセット(TextAsset)なる物があると知りました。
note.mu
 これを使おうとしてしょっぱなでハマったのでメモ。

TextAssetアセット

ドキュメントはこちら
原文
docs.unity3d.com
docs.unity3d.com
日本語訳
docs.unity3d.com
docs.unity3d.com
 以下の拡張子のファイルをResourcesフォルダ配下に配置するとTextAssetとして格納され、スクリプト上でまるごとstring型として読み込むことができます。なにそれ便利すぎる嘘だろ知らなかった!!(語彙) 

 .txt
 .html
 .htm
 .xml
 .bytes
 .json
 .csv
 .yaml
 .fnt

 また、特殊機能として、バイナリデータを.bytes拡張子で取り込んだ場合、byte[]型として取得できます。

//TextAssetに用意されているプロパティ
public string text ;
public byte[] bytes ;

 これも大変便利。バイナリデータを取り込めることは知ってたのだけど、まさかこんな融通の利くインターフェースだと思っていなかった。

CSVを読み込む時の注意点。

 Shift-JISファイルだとUnityが認識してくれません。UTF-8で保存しなおす必要があります。しばらくこれに気づかなくて時間を浪費しました……。