A quick primer on dither fish:
Bottom dwelling fish, like climbing perch and cichlids, cannot see predators from above the level of the water, like herons or kingfishers. They can't tell if it is safe to come out of their hidey-holes or not. What they do is look for what surface dwelling fish are doing. Surface fish, like hatchets, guppies, or halfbeaks, have extremely good eyesight, and as soon as they see movement or shadows above the water level, they swim away.
So, the cichlid or perch looks out from its cave to see what the surface fish are doing. If those fishes are swimming about happily, then the cichlid or perch knows it is safe to come out and hunt for food or look for a mating partner. If those surface fish are absent, the cichlid or perch stays hidden. If you add some surface dwellers -- dither fish -- to the aquarium, benthic fish tend to swim about in the open much more. Without them, they hide.
Midwater fish, like tetras and barbs, aren't so good for two reasons. One, the cichlid or perch "knows" they cannot see above the waterline, so puts less faith in them. Two, big schools of active midwater fish are actually quite threatening to small bottom dwelling cichlids and perch. What you need are small sufrace dwellers. Hatchets are widely considered the very best of them because they stay close to the top of the tank but pose no threat to any aquarium fish, except perhaps livebearer fry. Marble hatchets would be ideal for your sort of species, M. ansorgii and B. badis; the problem is they are small, and I wouldn't trust them with butterflyfish. The butterfly might actually serve some function as a dither fish, but because it is camouflaged and slow-moving, it isn't likely to send a very good "it's safe" message.
Cheers,
Neale
When you refere to fish as "dither" what are you asking for. Is it a group of slow moving fish to encourage the perch out ?