LODs via links, proxies or shape-keys?

First I’ll provide a bit of context:

I’m working on a building model for a military game/simulator called Armed Assault.This particular game-engine makes extensive use of LODs for all kinds of functions ingame, apart from just the visual stuff. Things like ai-paths, physics and the like are all managed via a seperate LOD. This quite a step up from my old simple way of just modeling down the highest-res LOD, making sure the uvmap stays intact and be done with it. Because it’s not just a visual representation, the LODs can differ quite a bit from each other.

On top of that in this particular case, I have to separate parts of the model and LODs, because of some restrictions in the game-engine for certain LODs.

The building I´m working on has to be as close as possible to the real thing and has a lot of similar elements (especially windows), but in differing configurations. Having to create different versions of the windows alone would be a monumental amount of work. Even more so considering that I can’t predict effects and limitations of the other LODs, which means I have to be able to change a lot of stuff in a later stage.

So I came up with the following solution, build up the model with linked or proxy objects. This would allow me some freedom moving stuff around. Also exchanging the proxy-objects with different LOD versions, I’d be able to generate the LODs for the model ready to be processed for export. But here’s where I’m getting stuck.

There are 2 things I’m trying to achieve at once and like some help with;

  1. a way where I can work with proxy-objects, that can be exchanged.
  2. a way to switch between objects/states (LOD-versions) with multiple proxy-objects at once instead of having to manually setup each and everyone of them.

Here’s how I’ve set it up right now. I use stand-in objects. I create linked-duplicates of those to build the model with. To prevent accidents this can be a proxy-object. Next I’d like to change that object somehow with other ones.

I tried Ctrl+L mesh-data, but this eventually just becomes a mess, because
the links to the previous mesh-data remain. And I still have to manually select to correct link for each and every segment. Better than having to remodel the entire thing, but meshnames can’t be edited and working with numbered planes and boxes is confusing as hell.

What does work is joining a copy of the mesh I want to use with the proxy-object and then removing the old mesh in edit-mode. But switching between lods for all sections becomes a lot of work.

The only solution I can come up with after browsing the manual, is creating a keyframe for every lod and use animation system to switch between lods. Problem is I don’t know jack about working with keyframes or anything else relating to animation and I’m very hesitant to use it on this project incase I screw things up. Also I don’t even know if it is possible to switch LOD-meshes with keyframing.

Any hints or info on working with linked-meshdata or proxies would be greatly appreciated
Also I very much doubt I’m the only one here having to work with LOD’s so I’d also appreciate some insight in how others are dealing with this.

Is there another way to work with proxy-objects which allows easy switching of meshes?