Kind of a late reply, but for anyone who is interested in keyframing Mass on a Bullet rigid body, here’s how you do it:
First off, the only difference between passive and active rigidbodies in Bullet is passive rigidbodies have 0 mass. Now the way Bullet handles changing states is a lot like physx, so it’s a little annoying. Let’s start with an example:
// What we would like to happen
frame 1: Cube starts off passive
frame 30: Cube wakes up and starts falling
Simple enough right? Yeah . . . nope. This is what you have to do:
On frame 1 everything needs to be “initialized”, in other words everything needs to be set to active (aka Mass > 0). THEN on frame 2, set whatever you want to be passive to be passive (Mass = 0). Then the frame BEFORE you want stuff to be active, put another passive keyframe on it, followed by an active keyframe (Mass > 0) on the frame you want stuff active.
This is annoying because it leads to a 1 frame lag on your stuff, but can be easily worked around. So our example will now look like this:
// What actually has to happen
frame 1: Keyframe Mass of all the rigidbodies to 1
frame 2: Keyframe Mass of all rigidbodies you want to start passive to 0
frame 30: Keyframe Mass to 0 again
frame 31: Keyframe Mass to 1
Hope this helps.