GetUniqueID() will give you different results on different clients. It's an editor-only function, not meant for play time at all. Its sole purpose is to create unique IDs for static objects. So no, it should not come out of its editor-only block.
If you want an object to have a unique ID, then you need to either use TNManager.Instantiate (= dynamic object), or have them be present as a part of the scene from the very start (= static object).