I’ve been trying to play an animation on a character that’s inside a Viewport Frame for like the past hour. Just loading an animation into a character doesn’t play inside Viewport Frames and when I made it play in Workspace it worked. Is there an alternative way to play animations inside Viewport Frames?
It’s not clearly documented but animations and physics simulation will not occur in ViewportFrames. A new class, WorldModel, is intended to allow this, however it is not currently enabled for the engine, so you have to rely on other hacks and such to get this to work.
The most common way of “playing” an animation in a ViewportFrame is to run the animation externally on a proxy object and translate the updates of that proxy object to the character in the ViewportFrame. That means you’ll be creating a barebones model in the Workspace (it can be invisible) that includes the needed limbs of the character and run animations there.
As animations manipulate the Transform properties of Motor6Ds present in a keyframe, you will need to use RunService.Stepped to update the ViewportFrame character’s joints to match the proxy object’s. Stepped fires immediately after animations update, making it the most appropriate event to use here.