I am creating some test code which can create transactions and sign then, I already could do it with NON-Segwit multisig address, they were signed using my code and broadcasted. But when I tried with Segwit multisig, I got problems, it was not signing it right. Can someone walk me through the steps of creating and signing a multisig segwit transaction?
It sounds like you are using the non-segwit sighash algorithm. This is not correct. Segwit uses a different sighash algorithm as defined in BIP 143.