Given complete $T$ in countable language, prove for any $\kappa >\omega$, $\exists \mathcal{M}\models T$ such that $\forall A\subseteq\mathcal{M}, \mathcal{M}$ realizes at most $|A|+\omega$ types n $S^\mathcal{M}_n(A)$.
Proof goes like this(in Lecture note I'm using). Take $\mathcal{M}$ indiscernible hull of indiscernible $I$ cardinality of $\kappa$. Here $\mathcal{M}$ is model of skolemization of $T$ in corresponding language $\mathcal{L^*}$. Given $A\subseteq\mathcal{M}$, $a\in A$ can be written as $a=t^\mathcal{M}(c_a)$ where $c_a \in I$. take $J=\cup_{a\in A} c_a$. then we can show |types over $A$| $\leq$|types over J| in $\mathcal{M}$. So it is enough to show latter one$\leq |A|+\omega$. Now define equivalence relation as follows:
$\forall_{n<\omega}\forall\bar{c},\bar{d}\in[I]^n \bar{c} \sim\bar{d}\Leftrightarrow \forall_{1\leq k\leq n}\forall e\in J, (c_k<e\leftrightarrow d_k<e) \wedge (c_k=e\leftrightarrow d_k=e)$
where $\bar{c}=(c_1,...,c_n),\bar{d}=(d_1,...,d_n)$ increasing sequence in $[I]^n$. I'm proving for any term $t(\bar{x})\in\mathcal{L^*}$ having n-variables, $\bar{c}\sim\bar{d}$ implies $tp_\mathcal{M}(t^M(\bar{c})/J)=tp_\mathcal{M}(t^M(\bar{d})/J)$. In my note, it is written that "$tp_\mathcal{M}(\bar{c}/J)=tp_\mathcal{M}(\bar{d}/J)$ implies equality above". but I could prove the former one but I don't know how to get the latter one from first one..
This is an almost immediate consequence of indiscernibility. The intuitive meaning of $\overline{c}\sim\overline{d}$ is that $\overline{c}$ and $\overline{d}$ "come in the same order" in $I$ relative to the set $J$. In particular, if $\overline{e}$ is a finite tuple from $J$, then $\overline{c}\overline{e}$ and $\overline{d}\overline{e}$ are both finite tuples from $I$ which "come in the same order", so they satisfy the same formulas by indiscernibility.
More precisely:
Suppose $\varphi(x,\overline{e})\in \text{tp}_\mathcal{M}(t^M(\overline{c})/J)$ and $\overline{c}\sim \overline{d}$. Consider the formula $\psi(\overline{z},\overline{w})$ given by $\varphi(t(\overline{z}),\overline{w})$.
We have $\mathcal{M}\models \varphi(t^M(\overline{c}),\overline{e})$, so $\mathcal{M}\models \psi(\overline{c},\overline{e})$. And by indiscernibility, since $\overline{c}\sim\overline{d}$, we also have $\mathcal{M}\models \psi(\overline{d},\overline{e})$. So $\mathcal{M}\models \varphi(t(\overline{d}),\overline{e})$, and $\varphi(x,\overline{e})\in \text{tp}_\mathcal{M}(t^M(\overline{d})/J)$. Thus $\text{tp}_\mathcal{M}(t^M(\overline{c})/J) = \text{tp}_\mathcal{M}(t^M(\overline{d})/J)$.