In a medium bowl, combine the shredded chicken and barbecue sauce. Mix well until the chicken is fully coated.
Heat a skillet over medium heat. While the skillet is heating, spread butter on one side of each slice of bread.
Place four slices of bread, buttered side down, in the skillet. Top each slice with a generous amount of the BBQ chicken mixture, followed by a handful of shredded cheddar cheese.
If using, add sliced red onion and chopped cilantro on top of the cheese.
Place the remaining four slices of bread on top, buttered side up. Cook for about 3-4 minutes, or until the bottom is golden brown.
Carefully flip the sandwiches and cook for another 3-4 minutes, until the other side is golden brown and the cheese is melted.
Remove from the skillet and let cool for a minute before slicing in half. Serve warm.