Oculus Application Space Wrap Sample Project [ UPDATE ]

Just though to drop this one here if anyone having trouble setting up ASW with unity, i cloned the custom urp repository which includes the future and created UPM modules that can be easily included in the manifest json.

project link https://github.com/nukadelic/unity-application-spacewarp/

Also works in play mode ( with rift mode usb / airlink ) but the FFR and ASW are exclusive to a build apk for the quest since its a oculus future.

UPDATE : the oculus repository was updated to use urp-v12 , and i have upgraded the sample project to the latest branch running on 2021.2.19f , alpha clipping seems buggy but besides vfx and aws seems to work together , try the build here

6 Likes

This is incredibly helpful. Thanks so much for putting this together! Your next beer is on me.

I've only one quick question: the cube with the Shader Graph/test_lit material tears for me (the only cube on the highest row). I'm curious if that one tears for you as well.

Seems like i forgot to add motion vectors to the active main camera , its fixed now

( thanks for the beer )

Is .NET 4.x required?
Dont think anything needs it

And shouldn't android be at v23? That way the signing works correctly.

.net 4 is just what i use , didn't try to publish it to app lab yet so not too sure if that api level would work, the docs does mention that it is the " Minimum API Level " , ill change that just in case


You need both v1 and v2 signing to the apk to upload it, so then API v23 is the one you need as minimum (:

And for .NET, using the default setting might be better if you don't use any .NET 4.x features

why default settings might be better ? Isn't .net-4.x is suppose to be faster ?


not as far as I know. 4.x has more features, so might even be slower and have worse compatibility on older devices (not 100% sure, checked this about a year ago)

Hi, I just tried to set up my project based on yours but all the movement is jittery (probably due to some issue with motion vectors). I managed to enable AppSW, I can see that in OVR Metrics Tool. I'm using Unity 2021.3.2f1, but I checked and the same issue happens with 2021.2. Here are my settings:
8129126--1054412--upload_2022-5-15_12-50-20.png 8129126--1054415--upload_2022-5-15_12-50-55.png 8129126--1054427--upload_2022-5-15_12-57-59.png 8129126--1054430--upload_2022-5-15_12-58-17.png
I also have a script like this, which enables motion vectors:

    public class AppSW : MonoBehaviour
    {
        [SerializeField] private Camera mainCamera;
        void Start()
        {
            mainCamera.depthTextureMode = DepthTextureMode.MotionVectors | DepthTextureMode.Depth;
        }
    }

Here is a list of packages I'm using:
8129126--1054421--upload_2022-5-15_12-53-59.png
The custom packages were downloaded from https://github.com/Oculus-VR/Unity-Graphics/tree/2021.2/staging and copied into the Packages directory.

However, when I build the application all movement is jittery as if the motion vectors were not generated properly. I'm testing using a simple unlit shader created in shadergraph. I'm a bit at loss because I don't know what have I missed.

EDIT: I figured it out, turns out the unlit shader created with shadergraph just doesn't work. I created an issue on your github page.

1 Like

Hello VVad,

First, thank you so much for the Unity project files. I played around with your sample project in Unity and noticed real time spot lights and point of lights do not seem to light up URP Lit, or Simple Lit shaders. Is this intentional? The real time directional light works, but that seems to be it. If they are not supported, why not? Is this just simply needing to add the motion vector code to the Lit and Simple Lit shaders or is there something more fundamental missing. Thanks so much.

hey bro idk made the repo so it would be easy to clone and try asw for my own experiments , left the settings as much as possible close to defaults, haven't rly tried spot lights as i have been using only one single directional light form my entire project , maybe try differed rendering path ? (link) if that doesn't work i would leave create an issue on the official repo

1 Like

8285952--1085967--upload_2022-7-17_3-39-30.png

try this

Saw this thread and that project today! Thanks! Looking forward to producing much more performant Quest apps soon!

1 Like

If anyone is interested, I updated the sample to Unity 2021.3.21f1 and newest URP 12.1.10.
Available here: https://github.com/tswierkot/unity-application-spacewarp/tree/2021.3.21

2 Likes

Thank you very much for going through the effort! We have an existing project using URP 12.1.10 and wanted to test out ASW, I wasn't looking forward to manually integrating the necessary changes.

nice , should update my UPM’s as well , which branch / commit did you use ?


The update is based on the master branch of the original repo. The updated packages are embedded in the project instead of being hosted and downloaded by UPM - feel free to fork, upload the packages somewhere and have them used the previous way.

1 Like

thanks , updated

2 Likes

If you having trouble with dependencies on a freshly cloned project , make sure the editor have your account signed in so the package manager can download the dependencies , if you still can't open then : enter safe mode -> exit safe -> re import all assets .

I installed build from:

https://github.com/nukadelic/unity-application-spacewarp/releases/download/apk-103/app-spacewarp.apk

and I installed the newest OVR Metrics Tool. I have a question: does FPS and ASW FPS should be the same value ?

9557725--1351279--upload_2024-1-2_15-34-10.jpeg

You can see similar values for FPS and ASW FPS. But for example in this tutorial, it seems that ASW value should be twice as FPS:

https://skarredghost.com/2021/12/12/application-spacewarp-unity-how-to-review/#:~:text=Click the index,perceiving 72 FPS.

So, my question: does ASW FPS value shows only amount of reconstructed frames per second, or ASW FPS values should shows total amount of frames (rendered + reconstructed).