How to create a seamless animation loop in Blender? I have a small animation of a character in Blender 2.8 that is suppose to loop, however no matter what I try to do, there is always a little "hiccup" where the animation ends and starts.
Things I've tried doing:


Changing interpolation to Cyclic;
Copying start frame and placing it one frame AFTER the animation end;
Manually adjusting curves in the graph editor to make the transition more smooth.


After all of that, the animation simply does not loop correctly. The place where it starts/ends is very noticable. Despite the begining and end frames being identical, it being cyclic and having the curves adjusted.

Is there a tool, or a function or something I'm missing to create loops in Blender, or is this simply not possible to achieve?

Blend file: https://www.dropbox.com/s/nngunwosevrh5w9/loop.blend?dl=0
I usually key the first frame on frame 0 and output from frame 1 onward. This has to date never failed me.

Maybe your problem has a different source, share the file if you can.

Edit: 
I rendered out the image sequence, then composed it. First, I assumed your hickup was just a slight buffering error from your video player, but then I compared the first and the last frame from the output, which were identical, causing a 2 frame hold. 

Your first and last frame of the loop must not be identical, or you will get these slight stutters. An easy solution to that problem is to either: 


push all keyframes one frame forward, so they are outside of the render area, 


or shorten the render interval by one frame.



So I pulled the last frame and rendered a video. Seems gone now.

https://youtu.be/kwSuWkUF8k4