Hello,
It could be done exactly as described, but if you want could be tried some improvements too. For example database structure maybe should be normalized a little more(for example have a keys table ObjectTypes with TypeID+TypeName and use that id instead of varchars there too, etc). Also one table for each object type not very scalable, if you think you'll add more in future maybe should be tried different approach(like comma separated id's or names in combination table). Regarding efficiency, expected usage and data size and more details of final app plans could help on decisions like how much use of TSQL, how much to preload in memory, maybe use an ORM like EF or not, or LinQ, etc.
C# skills: good, as that C# exam on site points too, and never spaghetti code(could navigate some of my code over a remote to see my style). Coding mostly in C# from many years(before it mostly C/C++) for companies I worked for and few permanent clients.
Unity: very little, with .NET used mostly Windows Forms and WPF. Neither good graphic design skills, so not the one for polishing UI's, doing nice icons, polishing UI looks to eye catching, I can do UI's too but best for logical and code-behind parts.
I want to start taking freelance more seriously, so willing to provide good results at small prices(I know that before taking bigger projects I will need to finalize first at least some tens smaller). If any questions please feel free to ask.