Here is an official Spine 2D example where they load Spineboy into a game. https://github.com/EsotericSoftware/spine-superspineboy The following 4 lines are used to read a texture atlas and skeleton data as well as making some animation state data. TextureAtlas playerAtlas = new TextureAtlas(Gdx.files.internal("spineboy/spineboy.atlas")); SkeletonJson json = new SkeletonJson(playerAtlas); SkeletonData playerSkeletonData = json.readSkeletonData(Gdx.files.internal("spineboy/spineboy.json")); AnimationStateData playerAnimationData = new AnimationStateData(playerSkeletonData); You also need a spritebatch and a skeleton renderer object. SpriteBatch batch = new SpriteBatch(); SkeletonRenderer skeletonRenderer = new SkeletonRenderer(); The skeleton data and animation state data can then be used to create a new Skeleton and Animation State object. Skeleton skeleton = new Skeleton(playerSkeletonData); AnimationState animationState = new AnimationState(playerAnimationData); You then play animations like so. animationState.setAnimation(0, "walk", true); // trackIndex, name, loop Then each render call, you update the animation state with delta time and apply the animation state to the skeleton. animationState.update(delta); animationState.apply(skeleton); After applying the animation state to the skeleton, you can now render the skeleton. batch.begin(); skeletonRenderer.draw(batch, skeleton); batch.end();