I would like to create my own file format, which is text based, which is imported by the editor and then made available to the runtime player as an prefab object.
I other words, I would like to mimic what happens with fbx. The editor reads it, shows any editable properties in the project window, it becomes part of the build, and then the player can instantiate a copy of it at runtime.
Is it reasonable to think I can do this with the current C# API?
I know I can load a txt extension as a TextAsset, and then process it at runtime. But I'm burning cycles at runtime and I would rather the importer did most of the processing.
asked May 21, 2010 at 09:48 PM
I know this is kind of old, but it really bugs me that the only answers here are to use TextAssets which you then parse at runtime.
Then you can use the standard Mono libraries to parse the files and do whatever you want in Unity.
answered Dec 06, 2010 at 06:48 PM
I have never tried this, but you could give this a shot: Make your file be imported as a textfile. Write an AssetPostProcessor, and in that do the parsing of the text, create a bunch of new objects (texture2d, material, custom scriptableobjects, AnimationClips, whatever), and use AssetDatabase.AddObjectToAsset() to add it to the just imported file.
Again, I'm not 100% sure this will work, but it's a good first shot. Please be aware that Unity2.6.1 has a bug that makes a textasset being read as binary be garbled, so use an actual textformat, and not a binary one. I fixed this for Unity3.
answered May 22, 2010 at 10:31 PM
Lucas Meijer 1 ♦♦
You can't create your own file formats that Unity imports, as far as I know. Sure, you can stick whatever files you want inside your Assets folder, and you could MAYBE write an editor script to have a custom Inspector for those files, but that's unreasonable. Here's what you can do that should be relatively easy:
Now, in that script, you'll have your text file with all its data in it. You can read how to get the data of the text file by checking out the TextAsset documentation.
answered May 21, 2010 at 10:15 PM
Hi! I would like to import my own formats, too. These are to then emerge also in the Project folder and also the characteristics them have to point out. For example Xpresso tags or simply only dependence of each other. I have already tried with the function AssetDatabase.AddObjectToAsset () to get ahead. however unsuccessfully. Can someone help me? Thanks a lot.
answered Jun 01, 2011 at 12:31 PM