I see. I keep the UI in a separate scene, like it is set up when you unzip the default UI. There is a special block to load the UI scene additively. You need to add this block to each scene. I think what you need is a fully setup demo project. There was a similar thread going on a while ago. You could try reopen that. The problem at that time was that it would be difficult to distribute a demo project that contains asset store assets, but if Leslie would have time over to create a skeleton setup using e.g. plyProto assets, it would be useful as a learning tool.
Hiding the roof on enter/exit building
Dialog System method (works with Plygame it says, but probably could be Blox)
Add a cube just inside the door.
Disable or remove the renderer component, and tick IsTrigger on the BoxCollider.
Add a Sequence Trigger.
Set the Trigger to OnTriggerEnter.
Set the Sequence to SetEnabled(MeshRenderer, false, Roof)
where Roof is the name of the GameObject with the mesh renderer.
Repeat steps 1-3 for a cube just outside the door, but change the sequence to:
SetEnabled(MeshRenderer, true, Roof)
When the player enters the trigger just inside the doorway, it will disable the renderer. When the player steps outside, it will re-enable the renderer.
If using unity 5, turn off the cast shadows, receive shadows, ‘use light probes-no’ and reflection
probes on your mesh renderer or it will crash.