Today I made a Final Cut Pro plugin that renders SwiftUI views on top of your video, with an environment value for the current render time.

I'm not sure why.

Super easy to animate things with SwiftUI.

There's all kinds of cool things you could do with this, like add support for keyframes, allow blending with the underlying video, and add more things to the environment, but I'm not sure if anyone in the world would find this actually useful.

This is almost in an open-sourceable state, but I just realised that I've had SIP disabled on my laptop for who knows how long, and enabling it causes sandbox issues. Hopefully I'll be able to find a workaround and release it soon.

🆓 SwiftUIFX is now open source!

Create a SwiftUI view in a Swift package, then add it to Final Cut Pro and render it in your timeline.

Use environment values for the current timeline time to drive SwiftUI animations, preview your view in Xcode while developing, and recompile straight from Final Cut Pro whenever you make a change.

https://github.com/finnvoor/SwiftUIFX

GitHub - finnvoor/SwiftUIFX: A Final Cut Pro plugin to render SwiftUI views on your video

A Final Cut Pro plugin to render SwiftUI views on your video - finnvoor/SwiftUIFX

GitHub
Any APIs that work with SwiftUI's ImageRenderer work with SwiftUIFX. Good luck finding an easier way to add an animated mesh gradient overlay on your video 🎨
@finnvoorhees this is so cool! My app’s onboarding “video” is just an elaborate SwiftUI animation that I screen-capture to produce the marketing video. Your plugin might improve that process
@finnvoorhees love to see the language and frameworks expand to such use cases!
Sometimes it’s just easier to do things this way if you are used to SwiftUI and need a one-off solution, maybe even as an amateur user.
@finnvoorhees This is super cool!! You gonna release this publicly?
@finnvoorhees that has been on my idea list for years, so awesome! Will you publish this?
@chris I’ll try to clean it up a bit and open source soon
@finnvoorhees awesome! Let me know if you need beta testing.
@finnvoorhees I did get the invite but haven't found time to look into this yet. The instructions look really clear! I haven't made it past the README yet though. Didn't you mention that it also supports the current render time as well?

@chris That's the last thing I need to figure out, I'm having trouble getting the dylib and the plugin to use the same environment value keys: https://github.com/finnvoor/SwiftUIFX/pull/1

Hoping to have it working soon, in the demo I was just passing renderTime in one of the system environment keys.

@finnvoorhees Awesomesauce. I always wondered how to host Swift UI View's render surface in another place.

Thanks for giving back to the community. You rock!