Giter Site home page Giter Site logo

swordlegend / unity-assetstreaming Goto Github PK

View Code? Open in Web Editor NEW

This project forked from oculus-samples/unity-assetstreaming

0.0 0.0 0.0 1.23 GB

Oculus asset streaming showcase demonstrating how to use asset streaming when navigating open world project while using different level of details. This sample also demonstrates how to use the Unity Addressables system. The Oculus SDK and other supporting material is subject to the Oculus proprietary license.

License: Other

C# 94.95% HLSL 0.46% ShaderLab 4.59%

unity-assetstreaming's Introduction

AssetStreaming Banner

AssetStreaming

AssetStreaming was built to demonstrate how to handle world loading without loading everything into memory at once. For more details and explanations you can visit our Guide to Asset Streaming in Open World Game. More documentation that explains the ideas and the approach behind this project can be found here.

This codebase is availabale as a reference to help you setup your own asset streaming project. Unity-AssetStreaming is under the license found here unless otherwise specified.

See the CONTRIBUTING file for how to help out.

Licenses

The Oculus License applies to the SDK and supporting material.

The Demo Assets used in this project are released under the Oculus Examples License.

The MIT License applies to only certain, clearly marked documents. If an individual file does not indicate which license it is subject to, then the Oculus License applies.

Getting started

First, ensure you have Git LFS installed by running this command:

git lfs install

Then, clone this repo using the "Code" button above, or this command:

git clone https://github.com/oculus-samples/Unity-AssetStreaming.git

To run the sample, open the project folder in Unity 2019.4.34f1 or newer. Load the Assets/Scenes/Startup scene.

Build

In order to build to device we need 2 steps. First we need to build the addressables assets, then we can build the apk.

You can use the traditional route to build addressables from the groups menu (Window->Asset Management->Addressables->Groups). Then open Build Settings and click Build.

We also added an utility menu. Under AssetStreaming menu on the menu bar, you can do different builds:

  • Build Addressables and Apk: build the addressables and the apk
  • Build Addressables: Build's only the addressables
  • Build Apk: Build's only the apk (usefull when only changing code)

Oculus Integration Package

In order to keep the project simple, we kept only the required features from Oculus Integration. We kept VR and Platform. To update it, import the updated Asset Store package, and select only VR and Platform.

Third-Party Libraries

In our implementation of the LOD Generator, we used a package from the Asset Store called Mesh Baker. We highly recommend using Mesh Baker to create texture atlases and combine your meshes. Alternatively, you could write your own or get a license for something like Simplygon.

For Licenses reasons we didn't include Mesh Baker in the project.

Conversion to use Addressables

We detailed how we converted the original Asset Streaming project to use Unity Addressables system here.

AppLab

You can find the build version on AppLab:

https://www.oculus.com/experiences/quest/7325963400811201/

unity-assetstreaming's People

Contributors

alexthiv avatar els-oculus avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.