- Home /
Is there a notepad-like (preferably a notepad++-like) in-game text editor for use in Unity5?
I am using the Unity 5.0.2f1(64-bit) free version. I have tried both the provided Unity Input Field and GUI.TextArea and they both have pros and cons as I've found, but are not providing the desired functionality.
I have created a sort of notecard-like object that will have many fields where the user will be able to input text. In one scene, one card will have focus and the user will be able to interact with the different fields. I want the fields to already display the text from the last time the user edited the given card (i.e. the fields from the cards will be saved and loaded). In another scene, many of these cards (dozens or so) will be displayed (along with their associated fields), but the fields will not be editable. As you might guess, clicking on a card in this scene brings it up in the scene where it can be edited. I desire the fields to be as notepad++-like as possible. I want the user to be able to interact with some multi-line fields and some single-line fields. I want the user to be able to copy-and-paste text within a field and between fields (ambitiously even to and from other programs such as Microsoft Word possibly using the clipboard). I want undo/redo functionality associated with each field. I would like the user to be able to change font size and have bold/italic capabilities etc.
The provided Input Field lacks a lot of desired functionality from what I've seen. Text can only be selected from the end (not in the middle) and the caret often doesn't even show.
The GUI.TextArea has proven to be much better as it allows for selection in the middle, copy-and-paste (though I haven't tested between fields or to the clipboard), and the caret is always there as expected. However, there is no undo/redo capability and I am encountering a strange wrapping problem. Sometimes the text wraps just fine (it clips horizontally), but sometimes the text is horizontally overflowing instead of clipping, especially if I press the space bar multiple times.
In summary:
- Will either Input Field or GUI.TextArea give me the desired functionality, and if so, how?
- If not, is there something that will? (preferably free).
- Any other helpful suggestions concerning the application would be appreciated.