Getting an OpenGL Buffersize > 0 Assertion Error when packaging for Android

I’m using UE5.1 and trying to package for Android with OpenGL support. I am facing the following issue:

I have a project-selector level, that shows the title of the project and a header-image that the user can click on. Once clicked, the appropriate project is loaded.

But when the image is loaded, this assertion fails and the project crashes. (This is line 217 in OpenGLBuffer.cpp)

I’ve tried removing the Image, and that way my project-selector level loads fine, but once I open one of the projects and try to load that, I get the exact same error.

Note that this only happens when packaging for Android. In the editor everything works fine, when I package for Windows everything works fine, but on Android I get this assertion error.

It seems as if the buffer size is 0, I’m not well versed in graphics programming so I don’t know why this happens or how to fix it, hopefully someone can point me in the right direction.

1 Like

same. I dont understand how its possible to introduce so many bugs in new version

I eventually figured out what was causing the Error. I was using a widget that inherits from URetainerBox in my UI, and it seems like something went wrong there with OpenGL. I didn’t really do anything in the widget, so I’m unsure if it was something I did or if the RetainerBox in general is incompatible with OpenGL on Android in UE5.1.

But for anyone reading this, check if you’re using RetainerBoxes anywhere and try removing them to see if they are causing the issue, that was it for me.

thank you. Retainer Boxes were pain in Unreal since forever

You are right all retainer boxes are crashing unreal 5.1x on Android. Its not usable without this feature because only it offers postprocess materials

5.1.1 Fix:
DefaultEngine.ini, render settings, Slate.DeferRetainedRenderingRenderThread=0

Every retainer box is now crashing on IOS in 5.4