Install Steam
login
|
language
简体中文 (Simplified Chinese)
繁體中文 (Traditional Chinese)
日本語 (Japanese)
한국어 (Korean)
ไทย (Thai)
Български (Bulgarian)
Čeština (Czech)
Dansk (Danish)
Deutsch (German)
Español - España (Spanish - Spain)
Español - Latinoamérica (Spanish - Latin America)
Ελληνικά (Greek)
Français (French)
Italiano (Italian)
Bahasa Indonesia (Indonesian)
Magyar (Hungarian)
Nederlands (Dutch)
Norsk (Norwegian)
Polski (Polish)
Português (Portuguese - Portugal)
Português - Brasil (Portuguese - Brazil)
Română (Romanian)
Русский (Russian)
Suomi (Finnish)
Svenska (Swedish)
Türkçe (Turkish)
Tiếng Việt (Vietnamese)
Українська (Ukrainian)
Report a translation problem
Modern AMD/Intels are made for strong multicore-purposes. Which Unity cannot use.
If youw ant to use MORE than what your processor can chew, you need to use a different platform. PC simply doesn´t support this as long as it´s using standard AMD/Intel-chips.
A certain platform which is SUITABLE for VR-future tasks can handle up to ~10 different I/O-signals at once. This means you can set up to 10 different controllers. Or whatever you want.
But PC simply isn´t capable of doing this, and this is why Unity 2019 doesn´t support it. This only works on OLD Unity-versions. And not with PC-Unity-versions.
Yes. But like you should have find out 6 trackers wih simple Position/Rotation isn´t the same like having 10 or just 6 haptic outputs. See? There´s a huge difference in the type of input here (and the amount of input which counts for calculation).
There is a system which can handle up to ~10 haptic feedbacks if you program Unity with this. But like i said: Amd/Intel-systems aren´t suitable for this. This is why Unity doesn´t support it. Only OLD Unity supports this.
They took this out from modern Unity, because PC cannot support it. So forget Unity 2017/2019/2021.
Btw:
No. The number of haptic feedback your processor can handle is depending on it´s bandwidth. And not on it´s calculation (Gflops).
Modern processors have low bandwidth.
For comparison:
A PS4 has a cpu-bandwith of 30 Gbytes/second (custom bus-system).
Which means it´s faster in this regard than a PS5 here (because AMD Ryzen cpu-bus is SLOWER than AMD Jaguar!) and faster than a PC. Sony gave the PS4-chip a custom cpu-bus. It´s not a standard-cpu bus, so you cannot have this on PC.
So it can handle stuff like this. However bandwidth isn´t all, since there need also to be made some calculations and the latency is another point which limits your Input-signals.
But like i said. The more modern your processor gets, the lower bandwidth you have = not suitable for VR in general. Becaus your input will be very limited. Which means in your case you can only handle 2 haptic inputs/outputs and that´s with max. load then.
But like i said: Another system was made. It also has a CUSTOM cpu-bus (it has 10 cpu-buses, very similar to that of PS4) and it allows you to if you want it run 10 haptic input/outputs at once. Or even more because it has a lot lower latency, which is what limits your input-signals next, when your bandwidth is allready at its limit.
Each input/output-track/task is then assigned a seperate cpu-bus for this to work. and there´s a priority-system.
I have to turn off these notifications, I read it, then I look at the topics next to it.
And my brain is rotting.
Why are you here, when you get brainrot reading this?
Did you understand what i told you?
Hi there, I do kind of follow what you're saying, but as I mentioned I disagree that this is the cause of the issue in this case.
We can successfully output haptic values on the trackers on Two Trackers, ONLY when they are set to Right Hand and Left Hand, with SteamVR asset in Unity project and using the old Unity input system. If I set those two trackers to Right Foot and Left Foot (so, still ONLY two trackers and therefore should be absolutely no difference in CPU bandwidth limits), I can no longer get haptic output on those trackers. This is why I strongly believe it has to do with the controller bindings, and the Unity -> SteamVR haptic out path to a specific controller binding, and not to do with CPU bandwidth issue.
Thanks for the response though! This is still an ongoing issue.
No. It seems you didn´t understand it. I said above: Forget Unity 2017, 2019 or Unity 2021 as they do no longer support this!
Only Unity ~2015 or even 2013 supported this. But i don´t know if the PC-version even supported this. I just know they had this system once and then it was taken out because it costed too many ressources which AMD/Intel-chips cannot give as they do NOT have seperate cpu-buses to allow demanding bandwidth/IO-stuff like this. A PS4 has a different (Custom) Cpu-bussystem just like WiiU. These custom systems allow such stuff as running 10 controllers at once. Or allow running many 360°-tracking devices at once.
And i gave you the reasons why this is:
Because modern processors have FEWER bandwdith than 2015-processors. Even a PS5 processor (AMD Ryzen) has FEWER bandwidth than the custom AMD Jaguar-cpu in PS4!
So they simply had to adopt to modern standards in newest Unity-versions (such as 2017, 2019 or 2021 or newer), which means you lost this feature but other features were build in instead. Modern processors try to do more things (more complex commands) with fewer bandwidth. Unity doesn´t support complex commands though.
Processors today come with fewer and fewer bandwidth. Not with more.
And Unity is an outdated system for oldschool-type of programming, not suitable for VR or PC in general as it´s also tied to SINGLECORE.
You cannot use a 32-core CPU in Unity. Unity will allways be limited to using a singlecore (Oldschool-programming).
So 31 cores will idle around in a Unity-game..
Unity simply demands the most-powerful singlecore processor ever build.
And you do not have this chip in any modern AMD/INtel, ARM or even Apple Chip, as those chips were made to run multiple cores, not single cores. Especially valid for newest processors with E/P-cores (Efficiency/Performance-cores).
Those chips which are most-powerful singlecore-chips are typically CUSTOM chips.
A chip exists which supports ~10 cpu-buses.
10 independent programable cpu-buses.
Which means you can easily have 10 such trackers with left and right hand. Or even 100 if you program it to split up the tasks and run 10 on each cpu-bus. Or you can connect 100 controllers to that system if you want to.
You know what the problem is?
The programming of this chip! Because the programming of such a thing is of course complex.
Because when you have 10 independent cpu-buses on a singlecore-processor this also means you need to split up your tasks that way. Since that custom processor has to know which of your tasks has priority over other tasks.
So there is an "affinity"-setting. and there is a priority-setting.
And to do this you need to have an RTOS which controls this. A Realtime-operating-system.
So this system doesn´t use a standard-OS to begin with.
A timed-programming-language is required (such as Java, Python...) in order to tell the RTOS to program this.
This is also how its done in Unity of old versions.
Btw: I also told you above it´s a thing of latency as well. Modern chips have HIGH latency.
Unity doesn´t like high latency-chips. Old-design chips have LOW latency.
Unity was made for LOW Latency (Oldschool)-chips. Not for modern HIGH-Latency chips.
This was fixed in the latest SteamVR beta update: 2.5.4.
Let us know if it works for you.
Hi @danwillm, I do now see the haptic output path on the vive tracker controller profiles in SteamVR with this beta update! Thank you! We will do a test of the pogo pins tomorrow with a multimeter to actually confirm things are working as expected.
Do you know if this should fix the haptic-output in both framework combinations posted above (Combo #1: SteamVR Asset in Unity, OpenVR Loader, OpenXR, Old Unity Input System; and combo #2: OpenXR, New Unity Input System (no SteamVR asset in project, no OpenVR))?
Or, perhaps you all only support path #1? That would be my assumption, but have never seen any confirmation.
Will report back with our findings tomorrow, but thank you again
Would still really love to hear an answer to the question of which frameworks you all support/suggest developing with in Unity, but thank you Valve + Vive team for the fixes.
Another update will come sooner or later which will break it then. Because updates are needed and they cost bandwidth as well. Nothing lasts forever!
So it´s only a workaround. See Windows 11-issues. None of their bugs could ever be really fixed...
I've currently been testing with one tracker assigned right shoulder but even if I use any I get nothing. I can confirm haptics if I connect a controller but get nothing with any trackers.
hapticAction.Execute(0f, 0.1f, 150f, 0.5f, SteamVR_Input_Sources.Any);
I've tried so many variations of this, including incremental increases in frequency while continuously sending haptics. I'm fairly close to my wits end at this point xD