По поводу лагов подсказать не могу, а если не грузится реклама(у самого такое было) проверьте что методы Load() и Show() разделены. То есть метод Load() нужно вызывать при старте и при закрытии рекламы, а Show() непосредственно при просмотре (у меня просто такая ошибка была, игра не успевала получить рекламу и поэтому ничего не происходило). А какие баги? Зависания, вылеты?
laykketyt, тут надо смотреть как устроен инвентарь. Можно сохранять каждую ячейку и id элемента в ней в PlayerPrefs, а потом все подгружать при входе. Если не знаете как сделать можете прислать код
Как я понял скрипт нужно дописать до конца. Если вы будете использовать метод OpenBrawl, сделайте его с параметром id, и вставьте туда код из метода DeleteCharactersFromArray, имя массива не Characters, а Brawls. Пока все делается в цикле for можно опять таки скопировать код из метода, id заменять на i.
Можете пожалуйста скинуть код вашего класса, как я понимаю сначала проверяется этот шанс, потом вычисляется индекс выбитого персонажа, после чего и надо с этим индексом вызвать метод. Не полностью менять класс, а его дополнить