Sure, that’s possible. It’s not hard at all. All you need is a sphere with correct UVs (no, standard sky sphere probably won’t work, as it’s has UVs with a bit different layout than a typical spherical projection).
You’d need some tricks to mask pinching at the bottom and the top (there should be tutorials for that).
If your panorama is stereo, you’d need to setup a special material for your sphere. It’s simple - you just determine, what texels should go to a specific half of the screen UVs. Like that:
This is for a panorama packed into a square texture, where top half is the left eye, bottom is the right.
You’ll see the result immideately in your viewport - you’ll see a vertical line like a fracture. It won’t be aligned with the center of your editor viewport, that’s normal. On device it’ll look fine.
Then you just set up your pawn (only camera, and that’s pretty much it) in the center of the world (make sure that sphere too is aligned to world 0), make some interactivity to list between panoramas (widgets, widget interaction component, or just linetrace to 3d buttons), and you’re set. Since you don’t have any kind of control in Cardboard, you’ll need to use gaze delay to detect input from the user.
But I must warn you, that the engine isn’t really that good with that kind of thing. Its render is too overcomplicated for such tasks, so you’ll encounter a significant loss in quality: either bluriness or crawly lines. First means you’re using mips in your panoramas (don’t do that), second means your panoramas are way bigger than a screen texture used to project stuff on screen.
You can match screen texture with the panorama using r.screenpercentage (number higher than 100, lower than 300), or vr.pixelDensity (value higher than 1), but that’s performance heavy, and if you really need a 8k panorama fidelity, it might not be worth it, and you’ll have to use Unity or Google VR for Android SDK.
More on that here: [my question on panorama quality][2]