Also, the render call there is only rendering the HUD. Passing in the renderer just ensures we are rendering the HUD to the same render target (the canvas) as the scene is being rendered to rather than overlaying one canvas on top of another (which is what I was doing before and had to deal with aligning those elements on top of each other and resizing them individually).