Babylonjs in PowerPoint Add-in

Hello everybody,

I realize that this might not be the right place to ask this, but I’ll try anyway, this forum is always very helpful and maybe some has a good idea.

I’m the author of the babyplots library, a plotting library using the babylonjs render engine. I’ve also created a PowerPoint content add-in to go along with it, where you can embed plots in a slide. This was working really nicely until some time ago, a PowerPoint update apparently made it impossible to scroll in content add-ins. Since I’m using an ArcRotateCamera, loosing the zoom functionality is really annoying. I haven’t found anything regarding this change on the internet (and frankly the resources for developing PowerPoint add-ins are really confusing).

Does anyone here have any experience with this, or any idea for a workaround? I’d be very grateful for any hints that point me in the right direction! Thanks!

Wow that’s cool you’ve done this project :+1:! Not so cool that it broke on you though :-1:

When you mention that zoom broke, do you know if it’s support for mouse wheel/pinch events entirely, zoom events, or something different?

I might look to try attaching to keyboard events that you can then forward to your ArcRotateCamera’s input observable(s), that way you keep a clean separation between your PPT plug-in code and your BJS code


I think what happened is that PowerPoint does not really focus on the add-in anymore. The behaviour used to be that if you click on the add-in, scroll and keyboard events would register in the add-in. Now they just change the slide, or do nothing. This is during a presentation, and when editing slides. The only events that actually seem to register in the add-in are mouse click and drag.

So sorry to hear that :frowning: @bghgary do you have any contacts there we could ask ? I do not know anybody close to this team.

@derpylz Have you already gone through official channels for bug reports?

1 Like

Hi, @bghgary, thanks for your reply. I’ve had some troubles finding the correct place to contact with this issue, so I thought I might as well ask here, if anybody already had experience with this. I’ve now found the github page, this seems promising, I’ll post an issue there.


I confirmed internally that this is the right place to file the issue. Hope it gets resolved!