Let $X$ be a topological space, $\mathcal{C}$ be a locally small category with "good properties" (such as having small inverse limit, small filtrant inductive limit...etc.) and $\mathcal{F}$ be a presheaf with values in $\mathcal{C}$.

The + functor turns $\mathcal{F}$ to another presheaf $F^{+}$ such that: For any open subest $U$ of $X$,

$$ F^{+}(U) = \varinjlim_{\mathcal{U}} \ \mathcal{F}(\mathcal{U}), $$ here $\mathcal{U}$ is a open convering of $U$ and $\mathcal{F}(\mathcal{U})$ is the equalizer of

$$ \prod_{V \in \mathcal{U}} \mathcal{F}(V) \rightrightarrows \prod_{V_1, V_2 \in \mathcal{U}} \mathcal{F} (V_1 \ \cap \ V_2) $$

One shows that $\mathcal{F}^{+}$ is a separated sheaf and if $\mathcal{F}$ is separated, $\mathcal{F}^{+}$ is a sheaf. So the sheafification is $\mathcal{F}^{++}$.

If $\mathcal{C}$ is a concrete category (everything are sets and maps), then the proof for these are clear.

My question is: For non-concrete categories, does one need some more conditions on $\mathcal{C}$ to prove these?

For example, in order to prove that $\mathcal{F}^{+}$ is separated, which is equivalent to

$$ \mathcal{F}^{+} (U) \rightarrow \mathcal{F}^{+} (\mathcal{U}) \mathrm{\ is \ a \ monomorphism}, $$

I found I need some conditions such as:

$$ \varinjlim_{i} \ \mathrm{Hom}(A, X_i) \rightarrow \mathrm{Hom}(A, Y) \mathrm{ \ is \ injective} $$ $$ \varinjlim_{i} \ \mathrm{Hom}(A, X_i) \rightarrow \mathrm{Hom}(A, \varinjlim_{i} \ X_i) \mathrm{ \ is \ surjective} $$

for some special filtrant inductive limits (those comes from open coverings of open subsets.)

The above conditioins are just from trying to mimic the proof when $\mathcal{C}$ is concrete. For example, for an element $x$ in a filtrant inductive limit, one can find some index $i$ and an element $x_i \in X_i$ such that $x$ is the image of $x_i$.

I would like to know if such conditions are really necessary. If not, how one proves the properties of $\mathcal{F}^{+}$?

Edit: This question have been downvoted once, and I would like to know why. Is this question is not suitable for mathoverflow or it is just not the question of someone's favor?