Let us consider only the equation $f(x+c)=\gamma(c)f(x)$ for all $x,c$. Compute
$$
\gamma(a+b)f(x) = f(x+a+b) = \gamma(a)f(x+b) = \gamma(a)\gamma(b)f(x).
$$
Assume there is at least one $x$ with $f(x) \ne 0$. Then we have, for all $a,b$,
$$
\gamma(a+b) = \gamma(a)\gamma(b) .
\tag{2}$$
Now assume we are in the case $\gamma : \mathbb R \to \mathbb R$.
If $\gamma(a_0) = 0$ for some $a_0$, then $\gamma(a_0 + b) = 0$ for all $b$, and then $\gamma(x) = 0$ for all $x$. And then $f(x) = 0$ for all $x$.
Assume that $\gamma(x) \ne 0$ for some $x$ so that $\gamma(x) \ne 0$ for all $x$. From $(2)$ we get $\gamma(x) = \gamma(x/2)^2 > 0$, so $\gamma$ has positive values. And $\gamma(0) = 1$.
According to the Axiom of Choice, there are badly-behaved solutions of $(2)$. Let us rule them out by assuming $\gamma$ is differentiable (or, equivalently, continuous, or Borel measurable, or bounded on some interval, or ...).
Compute
$$
\frac{\gamma(x+h)-\gamma(x)}{h} = \gamma(x)\frac{\gamma(h)-\gamma(0)}{h}
$$
so $\gamma'(x) = k\gamma(x)$ for some constant $k$. Thus
$$
\gamma(x) = e^{kx}\quad\text{for some constant } k \in \mathbb R .
$$
The OP wants non-exponential functions, so this is not one.
For the case $\gamma : \mathbb C \to \mathbb C$, we get solutions:
$$
\gamma(x) = \exp\left(k x + l \,\overline{x}\right)
\quad\text{for some complex constants }k, l .
$$
in addition to many wild, discontinuous solutions