I like the whole composition thing rather than the deep class hierarchy thing so I actually implemented my own component system and then use Unity as an API much like what you're doing. I do have a few additional manager Monobehaviours and most of the UI uses the editor, but otherwise Unity is just a nice cross platform API for my game. Anything that needs an actual real game object to display just gets a special EntityGameObject component that will create the Unity game object and pass through the appropriate properties.



I had various reasons for going that route - the drag and drop reference thing seems a little fragile, didn't want to be 100% tied to Unity, and to provide modding support.



Edit: Uh... just read your latest and I guess this may be off topic from what you wanted - say the word and I'll remove it.

Click to expand...