Hello cmifwdll, thank you for the useful code snippet, I have already adjusted it for all objects but for some reason it cannot find the "id" property, I will look into it further and post the script back here when it is working.
And hello ArenMook, I can see you are busy on here answering almost every question which is great. The forum thing is a little restrictive as I can't post either your code or ours publicly including screenshots but I generally have no problems using it as long as I don't give too many examples.
I am working on 2 titles, the first game is much smaller and could be ready this year, it is aimed at mobile and is primarily a single player game but with support for MP coop. There will be lots of NPCs (notably farm animals) which are directly of the gameplay as well as a loads of power ups (mostly coins). I have a small test map with 78 placed objects and have barely started but there will be plenty of optimisation and net culling to come, it really depends on how TNet performs.
Interestingly the placed power ups could be placed with a spawner script as they may respawn so I could manage here. The other characters and triggers/switches would need to have IDs entered unless I just instantiate everything on Awake which is longwinded. It is especially difficult as normally have to click each object and then scroll down part lots of components to see TNObject at the bottom.
I understand that these IDs need to be set at design time as they need to match up and can see potential pitfalls if they were automatic as the same ID could be reassigned after deletion. On the other hand I find it strange that I am having to type them in when I just expect there to be an automatic option (perhaps I am being unreasonable here). I duplicate objects all the time too which makes it especially tricky.
The second game is Steam/Desktop/Console targeted and is much bigger. It can only be described as a combat adventure with interactive vehicles and maps from 1 to 4KM across. This supports single player and MP modes.
TNet's save feature is amazing, also the general the API is very well made. I have already created a generic "NetSyncTransform" class with 4 range sliders and basic prediction that I can attach to any dynamic game object (with automatic RB detection if one is present). As most of the objects don't move much (power ups/animals/non woken enemies) TNet looks just the ticket. However I really could not possibly manually manage all those IDs so that editor script will sure come in handy but I will be looking carefully to see if I can somehow modify the TNObject class to auto-assign on placement.