An insanely easy Table Layout for Unity UI

Asset Store Link
Documentation
Simple
I uses reflection so you don’t have to code anything. Just select your collection, the properties to display, and here you are.
You can now customize the table all you want.
Integrated
Unity UI Table only uses and organizes Unity UI elements, so it’s consistent and easy to integrate with the rest of your UI.
Customizable
Many Options:
- Sortable Columns
- Selectable Rows
- Add/Delete Row Buttons
- Update at Runtime or Save Performances
- Many More…
Feedback & feature suggestions welcome!
I try to run the example scene and this error appear when i press play button. Here is this error line.
this is the whole picture
I can change the table data at runtime in code ??
Hi @minhplhl
Yes, you can change the data at runtime. Enable the “Update Content at Runtime” option in the Performance section of the Table if you want the table to keep up-to-date.
About your error, I see what causes it. Will fix it now. You can still go on, right? This error doesn’t affect the functioning.
Thanks for your feedback.
hello, i’ve attached my component’s collection List in inspector and defined the columns i want. I checked the At Runtime: Update: Cell Content. Then at runtime i populate the list, and call table.UpdateContent() but the data rows are never generated, just the header row. In the debugger, in Table.cs the targetCollection.Collection.Count is always 0. ?? I also tried calling SetDirty() before UpdateContent.
Hi @linojon
You don’t need to call UpdateContent (only useful when Update Cell Content option is off) or SetDirty. It normally just updates automatically if you set the option.
What version of Unity do you use?
Do you have any error in your console?
Does it work when you add elements to the list in the inspector in edit mode?
Is it possible to send me the project with the issue (or a stripped down version of course). You can email me with the mail button here: Jeremy Quentin - Asset Store
Unity 2018.3.7f1. No errors on the console.
hi, i understand. In this case I dont need it to update automatically, its just a text panel that includes a table of data, not interactive, When the panel is enabled, i set its text and table content. I read the data from an external source at runtime Start so it doesnt make sense to add it via the inspector. In fact, the List isnt allocated (collection = new List()) until runtime, maybe this is the problem?
@linojon I see. The table loses the connection to the list if you reallocate it after the initialization.
Can you call the constructor in the declaration?
Anyway I should be able to ship a fix by tomorrow.
that did it, thanks! i new call the constructor in the declaration and use .Clear() when i want to refresh it. Works 
@linojon Great!
I will handle this case in the next release.
Thanks for letting me know.
The new version is live and handles this situation.
Thanks again.
Hey @bourriquet ! First of all thank you so much for this asset, it’s been a tremendous help!
I have a question though, I’m basically making a player statistics page and would like for the rows to expand in height if the player has several lines of a specific statistic. Is there a way to do this? I tried the flexible heights and all that but I couldn’t get it to work…
Hope you continue working on this because it’s very valuable! 
Hi @KingBradley24
Very glad the asset is helpful !
Currently there is no way to have variable heights in the table. I will look into it and come back to you. Thanks for the suggestion.
1 Like
Thank you for the quick answer @bourriquet !
I’ll keep an eye out for that update as I haven’t figured out a workaround!
Keep up your great work! 
Hi @KingBradley24
Just submitted a 1.3 update, including Expandable Height option in the columns settings.
Attached is a screenshot showing how it works.
(Note that the text must be set to Wrap for it to work, of course)
There is also a new cell type: Input Cell - Expandable. A normal input field cannot be expanded, so I created the special one using the workaround mentioned here: How to auto resize InputField according to text inside?
Also, I saw your review. About your point on the documentation, what part would you have liked to see explained in more details in the Manual.pdf ?
Hey @bourriquet !
Thank you so much for this update!
Regarding the documentation, I’m a moron!
I didn’t see the manual.pdf!
I will edit my review to disclaim the truth!
Unfortunately, I haven’t been able to use the function correctly yet, can you tell me what I’m doing wrong?
The first cell on the table has two lines, separated by a “\n” on display ( not actually stored like that on the Collection)
as can be seen on the second screenshot.
However, it’s not expanding correctly, can you see if there’s anything wrong?
P.S: I’ve tried selecting expanding height for all columns, just that column, and it didn’t work.
Thanks again, and sorry for the hassle!
@KingBradley24
Your second screenshot is just with a bigger Default Row Height, to show that the content is actually two lines, right?
Your settings look the same as mine.
Can you try right-clicking your Table component and choose Initialize. This will recreate the table from scratch, in case there was an issue going from 1.2 to 1.3.
Also what version of Unity do you use?
Also, did you hit Play? In edit mode, the scene doesn’t refresh after you check the Expandable Height box, until you change something else (just resizing the Game View will do).
@bourriquet
Correct, just a bigger Default Row Height!
I used Initialize and it didn’t work 
The first screenshot was from the Game view, and my Unity version is 2018.2.17f1!^
Thank you
@KingBradley24
Can you try replacing RuntimeGUITable/Scripts/Cells/TableCell.cs with the version attached?
Sorry for the hassle.
4517773–418063–TableCell.cs (4.19 KB)