Theme hook not found on custom module I'm trying to create a module which adds a page, the controller works but I cannot render a twig template for it. 

The page layout is displayed without the page I created and this warning is reported in the logs:

"Theme hook eu_calendar not found."

but I do have the hook defined

This is the controller:

class EuCalendarController extends ControllerBase {

    public function index() {
        return [
            '#title' =&gt; 'my title',
            '#theme' =&gt; 'eu_calendar',
            '#description' =&gt; 'description test',
        ];
    }
}


Module file:

function eu_calendar_theme($existing, $type, $theme, $path) {
    return [
        'eu_calendar' =&gt; [
            'template' =&gt; 'index',
        ],
    ];
}


I also tried adding variables like

function eu_calendar_theme($existing, $type, $theme, $path) {
    return [
        'eu_calendar' =&gt; [
            'variables' =&gt; [
                'test_var' =&gt; NULL,
            ],
            'template' =&gt; 'index',
        ],
    ];
}


What am I missing here? 

And do I need to configure anything with the regions, I want my module to be displayed in the content region by default...

Any documentation or tutorial is also welcome, I read a bunch of them none of them is explaining the options and details.
myModule.module

function myModule_theme($existing, $type, $theme, $path) {    
return array(
 'pagina_3' =&gt; array(
   'variables' =&gt; array(
     'titulo' =&gt; 'title', 
     'descripcion' =&gt; 'description',
     'formulario'   =&gt; NULL
      ),
    'template' =&gt; 'pagina_3'
   )
  );


}


mymodule/templates/pagina_3.html.twig

&lt;div class="row"&gt;

    &lt;div class="col-md-6"&gt;
        &lt;h2&gt;{{ titulo }}&lt;/h2&gt;
        &lt;p&gt;{{ descripcion }}&lt;/p&gt;
    &lt;/div&gt;

    &lt;div class="col-md-6"&gt;
        {{ formulario }}
    &lt;/div&gt;

&lt;/div&gt;


myModuleController.php

public function verPagina3() {

    $form = $this-&gt;formBuilder()-&gt;getForm('Drupal\myModule\Form\InsertarGastoForm');

    // Le pasamos el formulario y demás a la vista (tema configurado en el module)
        return [
            '#theme' =&gt; 'pagina_3',
            '#titulo' =&gt; $this-&gt;t('Formulario crear empresa'),
            '#descripcion' =&gt; 'Formulario para crear una nueva empresa en Drupal 8',
            '#formulario' =&gt; $form
        ];


   }