Giter Site home page Giter Site logo

circuitlord / desktopportal Goto Github PK

View Code? Open in Web Editor NEW
36.0 5.0 5.0 80.51 MB

An overlay and utility program for SteamVR

License: GNU General Public License v3.0

ShaderLab 0.92% C# 98.89% HLSL 0.18% Smalltalk 0.01%
vr steamvr steamvr-overlay vr-overlay valve-index

desktopportal's Introduction

Logo
Discord Shield

SteamQuickstart GuideWiki

Desktop Portal

Desktop Portal is an advanced Addon for SteamVR, with a suite of tools that make doing previously difficult things in VR easy!

  • Spawn in windows from your desktop, and put them anywhere you want in your playspace.
  • Anchor, resize, curve, and opaci... fy? your overlays!
  • A sleek and intuitive UI designed from the ground up for VR.
  • Easily control music and check your FPS from the watch!
  • Desktop Portal Library, a sleek and feature packed replacement for the SteamVR Library.

And now, newly open sourced!

NOTE: I apologize for any missing icons/off colors. I had to remove a bunch of paid third party assets that included icons and UI components I was using in order to make this properly open source.

Also, this project optionally uses Odin Inspector! If you have it, simply add it into Assets/Plugins/Sirenix/ to see all my custom inspectors!

Developing

Installation

  1. Install Unity Hub and Unity version 2020.3.12f1
  2. Git the project using your method of choice.
  3. With the project open, open /DesktopPortal/FinalScene.scene
  4. Ensure you have a SteamVR compatibile headset connected and running, and press play. (NOTE: do not install the admin task it prompts from in the editor)
  5. Press play, click the button on your left hand, and profit. Refer to the quickstart guide to see how to use it.

NOTE: One other step you may need to take is opening the .vrmanifest file in the project root, and updating the path to what it is on your PC.

Contributing

tbd

desktopportal's People

Contributors

alentoghostflame avatar circuitlord avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

desktopportal's Issues

Layout saving

This is already mostly implemented, and is just a bit buggy and doesn't have proper UI. Pressing the icon of 4 squares on the bar will save your current layout, and it gets restored on relaunching the app.

All the code for it can be found in DPLayoutManger, it's pretty much code-complete for saving any amount of layouts to files, and then restoring them.

A proper UI needs to be implemented, I had one in progress but it's not quite ready (the [LayoutsPopup] GO in the scene). Just let me know on discord if you want to learn more about adding new overlays and stuff.

Library favorites don't work

The favorites tab in the library just never works.

The code for this is probably in similar places as the images not loading issue, LibraryApp and LibraryHelper, not exactly sure where to start, it's possible it's entirely a visual bug and they are getting saved behind the scenes.

Buttons non-functional in steamVR home.

The buttons to open the menu for the portal are not functional and nothing happens when you try and press them with any trigger, handpress or touching it with the other virtual hand.

Any tips on how to fix this issue?
I have followed all the steps mentioned in the readme including changing the .vrmanifest actions.json location and still this does not work nor does it show any errors.

EDIT:
I am using a valve index full set with 2 base stations and the controllers that come with the headset.
Version of unity that i use is 2020.3.2f1 & ofcourse i open the project through unity hub.

Keyboard doesn't work at all

The button to open the keyboard stopped working, I was in the middle of remaking how the keyboard handled input to fix some glaring issues with the previous method. This is likely a pretty simple fix where the button is just throwing an NRE or something.

Library images fail to load correctly, appear in wrong spots

The library images have become slowly more broken over time, and just barely work anymore.

The class LibraryHelper contains a lot of the code used to fetch the images from Steam/Online and cache them for use. Something is likely going wrong here.

Any of the actual display code is in the class LibraryApp if something is actually going wrong visually.

Config randomly not generating on first init, corrupted?

A long known issue is that the config file DPConfig.json will sometimes just not generate properly for people using it for the first time, and the only way to fix it has been deleting it and letting it regen, not really sure why.

The class DPSettings has all the config related code completely self contained, and the issue most likely lies somewhere in there.

Config getting corrupted, watch position fails and appears broken

A common issue is that the watch will randomly just not show up on start, I believe this stems from the issue that the config will sometimes corrupt and then the saved position of the watch just fails to apply.

Assuming the config fails to load, maybe some sort of default settings should be applied to prevent this from happening. (Ideally it wouldn't fail in the first place :/)

Unable to reference CUI project

image
image

Hi, I'm a C # developer who isn't mature in Unity.
Unable to reference CUI project
You can see the reference to the CUI Project by opening the AssemblyCharp Project reference in the Object Browser.
However, I cannot refer to CUI.CUIManager with using CUI or FullPath.

Please tell me how to fix it if you like
Visual Studio 2019
Unity 2020.3.12f1

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.