For the UI part (changing/adding buttons or panel layout and style) use the UI customization feature; for everything else set
Title Script at the scripts configuration menu (Naninovel -> Configuration -> Scripts) and use script commands to setup the scene just like when writing a scenario. The title script will be automatically played when entering the title menu.
Reference Resolution at the camera configuration menu (Naninovel -> Configuration -> Camera) equal to the backgrounds resolution.
Use custom commands.
While Naninovel is focused around traditional visual novel games the engine is designed to allow integration with existing projects. If you're making a 3D adventure game, RPG or game of any other genre — you can still use Naninovel as a drop-in dialogue system.
Be aware, that in most cases such integration will require C# scripting (or visual scripting) in varying extent. See the engine architecture overview to get a grasp of how Naninovel works and integration guide for more information on the integration options
Sure, you can freely "inject" any custom logic to the default Naninovel flow. In most cases, however, this will require using the engine's C# API (via either writing custom C# scripts or using a visual scripting solution). Check the engine services guide for the list of available open APIs, which allows interaction with the engine; you may also make use of state outsourcing, custom actor implementations and custom commands in the process.