12 Essential Tips to Using XBMC as the Perfect Media Hub
Liven Things Up by Changing Skins
Changing up the look, feel, and even functionality of XBMC is as easy as swapping skins, and just like installing plugins, there are two ways to do this.
Manual Method
To save you time from messing around with busted skins or ones that may have been compatible with an older version of XBMC but no longer work with the current version, take a peek at XBMC's running list of supported skins, which you can find here.

When you find a skin you want to try out, download it and extract the contents (which should be a folder full of files) into C:\Users\[USERNAME\AppData\Roaming\XBMC\skin.

To try out one of your new skins, open up XBMC and navigate to System>Appearance>Skin. Click the up or down arrow next to Skin to scroll through the list of available ones and then double-click to change it up on the fly. If you don't like the new look, just change it back (default skin is Confluence).
Automatic Install

Don't feel like fussing with downloads and hidden system files? No problem, just use XBMC's SVN Revo Installer to automatically install skins. You'll find this option by opening up XBMC and navigating to Programs>Program Plugins>SVN Repo Installer>xbmc-xbox-skins.

The first time you click this option, XBMC will download a list of available skins. Let it finish, and then click through to the Skins folder. You'll see a bunch of different ones to choose from--just click whichever one catches your eye and follow the prompts to install. When it's finished installing (and this can take awhile, depending on the speed of the server from which it's downloading from), try it on by going to System>Appearance>Skin.
Set up a Universal Remote
There's nothing wrong with using a mouse and keyboard to navigate through XBMC, especially with all the care that's been given to making the user interface so intuitive. But for those you trying to fully integrate an XBMC box into your living room setup, using a universal remote is the only way to go.

Of course, it all starts with getting your PC and remote to communicate with each other, and for that, you're going to need some sort of receiver, like the USB-UIRT. Because this could be separate guide in and of itself, we're going to assume you either already have the necessary hardware and setup, or know what you need to invest in. Our focus is going to be on integrating a universal remote with XBMC.

To make life easier (and to make this hack possible), you'll need to create a special file that will allow you to configure advanced settings. This will make sense in a moment, but for now, navigate to C:\Users\[USERNAME]\AppData\Roaming\XBMC\userdata. Create a new text file and name it advancedsettings.xml (be sure to include the .xml file extension, not .txt). Edit the file and type:
<displayremotecodes>true</displayremotecodes>
Once you restart XBMC, what this little trick does is tell the media app to display a code on the screen whenever you press a button on your remote. These codes will come in super handy when it comes time to map your universal remote's buttons, but first, start mashing buttons and write down the corresponding codes.
Before we can map these codes to specific functions, we need to know what XBMC is capable of doing, and what the corresponding codes are. To find a list of these, see here. You'll notice, for example, that the code to play a DVD is PlayDVD, and to take a screenshot, the code is TakeScreenshot.

Ready to start configuring your remote? Great! Head over to wherever you installed XBMC on your hard drive and dig down to the system>keymaps folder. On 64-bit Windows 7, for example, the default location is C:\Program Files (x86)\XBMC\sytem\keymaps. Right-click the file remote.xml and select Copy. Now navigate to C:\Users\[USERNAME]\AppData\Roaming\XBMC\userdata\keymaps. Right-click anywhere in the folder and select Paste. Any duplicate files in this folder will take precedence over the original. We could have just moved the original remote.xml to begin with, but this way, we retain an original backup in case something goes wrong.
Edit the remote.xml you just pasted (right-click, Edit) and scroll down to where it says:
<keymap>
<global>
<remote>
It probably won't be laid out as neatly as that, but it doesn't matter, so long as it's in order. What we need to do is insert code right above where it says <remote> so that it looks like this:
<keymap>
<global>
<universalremote>
<obc##>Command</obc##>
<obc##>Command2</obc##>
<obc##>Command3</obc##>
</universalremote>
Using the above code structure, what you're going to do is replace ## with the number code you wrote down earlier, followed by a command code from the link above. So let's say pressing a button on your remote spits back the code 27, and you want to use that button to play a DVD. Here's what it would look like:
<keymap>
<global>
<universalremote>
<obc27>PlayDVD</obc27>
</universalremote>
Add as many codes as you want following the same structure as above. When you're finished, save your changes and restart XBMC.
For Harmony One Owners

If you're rocking a Harmony One universal remote, you might as well take a little time to dress up the touchscreen. To do that, use the included Logitech software and click on Customize Buttons for the Xbox Media Center, and then select the Advanced Buttons tab. The goal here is to label everything based on the actions they perform. Note that the device column lists which device the commands are being sent to. The trick here is that the Harmony contains some unique codes, and credit goes to xbmc.org forum member katz for listing these out (you'll find them here). Reference these codes to map your remote with XBMC's own codes and you're golden!