Hi,
the UI is a set of GameObjects, and you can simply activate deactivate them based on your level complete logic.
I assume you are using the Unity UI right?
I think you should start with a simple scene, have a UI menu defined, and then with a simple fsm try to show and hide it, once you have that in place, try to animate it maybe, and then once you have that working, you can plug the logic inside your game, and then you'll be using the same fsm based on wether the level is cimpleted or not.
The same apply if the user wants to show the menu or pause the game, you'll expose a UI button and that UI button fsm will show/hide the pause menu UI GameObject.
Does that make sense?
Bye,
Jean