This ended up being super helpful. I also used this video from youtube to help but they are essentially the same material. Along with a few typos I found my problem was I was referencing old dlls instead of the new names so now the ribbon tab works. However, the test command I built crashes the program. I'm hoping it's just the quick test I built but I will update if nothing changes.
Here is the xaml text used for those also struggling:
<?xml version="1.0" encoding="utf-8" ?>
<RibbonControl
x:Uid="AddinRibbon" xmlns="clr-namespace:Autodesk.Windows;assembly=AdWindows"
xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:adwi="clr-namespace:Autodesk.Internal.Windows;assembly=AdWindows"
xmlns:system="clr-namespace:System;assembly=mscorlib"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="clr-namespace:Autodesk.Navisworks.Gui.Roamer.AIRLook;assembly=navisworks.gui.roamer">
<RibbonTab Id="ID_CustomTab_1" KeyTip="T1">
<RibbonPanel x:Uid="RibbonPanel1">
<RibbonPanelSource x:Uid="RibbonPanelSource_RibbonPanel_1" KeyTip="C1" Title="Tools">
<local:NWRibbonButton x:Uid="Button_1" Id="ID_Button_1"
Size="Large"
KeyTip="B1"
ShowText="True"
Text="Button_1"
Orientation="Vertical"/>
</RibbonPanelSource>
</RibbonPanel>
</RibbonTab>
</RibbonControl>