All you need are the blocks and the chainstate folders.
If you want to reuse your blockchain data in a fork (for example, to access the Bitcoin Gold coins after the fork), do I need to put both blocks and chainstate folder, or chainstate will not be compatible even if both Bitcoin Core and Bitcoin Gold Core (or whatever is called) are basically the same? (let's say it's an 0.15 fork, which I still don't know) or should I only use the blocks folder because the chainstate folder can never be compatible with a fork?