Working With Sword Fight On The Heights

I keep running into people asking about Sword Fight On The Heights. It's not a game you download from some official store, and it's not a piece of software you install and run. It's a mod/framework, depending on who you talk to, for choreographing and rendering scripted sword combat scenes inside a 3D environment. The core idea is simple: you place characters, assign weapons, set their positions at various heights, and let the animation system handle the clashes. The reality is a lot messier. Most people end up at one of the community hosting sites where the project is maintained. You grab the latest release, decompress it, and drop it into your existing mod folder. From there you need a working build environment — usually Unity 2022 or later if you're working with the newer builds. If you're on the older standalone version, it runs in its own editor window. That matters because the pipeline is different between the two. The basic workflow runs like this. You set up a scene with at least two combatants. You position them at different elevations — that's the whole point of the "heights" part. Then you import or build animation clips for each swing, block, and parry. The engine handles the collision timing as long as the clips are spaced correctly. If they're not, you get weapons clipping through each other or characters missing hits entirely. I spent a full evening last month debugging a scene where two fighters kept phasing through each other on the final exchange. The issue was that my idle-to-attack transition clips had inconsistent root motion values. The fix was setting both characters to use the same base controller rig and forcing a shared transform lock during transitions. After that, the choreography played back cleanly.

How The Animation System Actually Works

The system relies on trigger-based animation blending. Each attack has a state in the Animator. When a condition fires — like a keypress or a timeline marker — the engine crossfades into the corresponding swing clip. The trick is managing the transition duration. Set it too short and the character snaps into position. Set it too long and the attack feels sluggish and late. I usually land around 0.08 to 0.12 seconds for most swings. Faster weapons like rapiers can go slightly quicker, heavier weapons like claymores need the longer blend to feel weighty. There's also the footwork layer. If you skip setting up proper foot IK, the characters will slide across the ground during lunges and retreats. That looks wrong immediately. Enable IK on the feet, set the ground plane, and adjust the IK weight. Usually 0.7 to 0.9 works depending on how much sliding you want to allow for stylistic effect.

Common Pitfalls I've Hit

One thing nobody warns you about is timing drift when you layer multiple fighters at once. The first two characters sync fine, but add a third or fourth and the engine starts dropping frames on the animation update cycle. The fight feels jittery even if the frame rate looks okay on paper. I solved this by batching the sword fight on the heights scenes into separate update groups and running the extra fighters on a decoupled thread. It cost me roughly 15 to 20 milliseconds of processing overhead per frame, but the visual result was stable enough to export. Another issue is audio sync. The engine does not include built-in weapon clash sounds that match the animation frames. You have to hand-sync those yourself or use a third-party tool. I ended up writing a small Python script that analyzed the animation timelines and generated audio cue markers automatically. Took me about an hour to build, saved me probably three hours of manual timing work per scene.

Get the Full Details

Sword Fight On The Heights - PHIGHTING! Wiki
Sword Fight On The Heights - PHIGHTING! Wiki

Exporting And Sharing

When the choreography is done, you can render the scene to a video file. The quality depends on your settings, but the default export at 1080p with standard lighting usually produces clean results in about 20 to 30 minutes for a two-minute fight scene on a mid-range machine. Higher resolutions and baked lighting push that to an hour or more. If you need quick turnarounds, stick to real-time lighting and render at 1080p. You can always upscale later. For sharing the project itself, most people upload to the community forums or Discord channels tied to the Sword Fight On The Heights project. There's no centralized marketplace. You share files directly and hope the version numbers match up between contributors.

What This Tool Can't Do Well

It struggles with dynamic environments. If you want the fighters to move around a changing landscape — crumbling platforms, moving elevators, destructible cover — the system gets slow and unpredictable. The collision detection isn't built for that kind of complexity. I tried once with a rotating staircase and gave up after two days of tweaking. If you need that, you're better off using a full game engine with custom scripting rather than this framework. Similarly, realistic damage simulation isn't really a feature here. This is for choreographed spectacle, not a combat simulator. The hit detection is binary — either the animation triggers or it doesn't. There's no health bar, no stagger system, no procedural response to different strike locations. Know what you're signing up for before you invest time in a project.