Update 1.0.4 released
Author: The Baron,
published 2 months ago,
Hello mates, Baron here! Patch 1.0.4 is now available and this is a large bugfix patch, but perhaps more compelling for you guys is that it contains a bunch of long awaited AI improvements.
One of the roughest consequences of having an EA development over 5 years and going from just KospY as a dev to having a full studio of devs is the amount of spaghetti code that can occur! What is meant by spaghetti code is that the code is "messy" with many dependencies, making the threat of regression rampant.
It's like having a big bunch of knotted strings where if you want to pull one you risk it pulling on another by accident, and this is what happens when we say regression; you change one piece of seemingly innocuous code in one place, and it causes a ripple effect elsewhere to create some unexpected consequence, and you had no defense against it because you can't possibly QA the entirety of every little thing in the game every single update.
This is what happened to us with our AI in 1.0 release - some of the AI behaviors were weird, buggy, or flat out missing! The state of AI was less obvious to us because there was an overwhelming amount of other stuff to focus on in 1.0, and we hadn't been expecting AI to degrade (ie, you are never expecting regression until it happens).
We had been in 1.0 dev mode for so long that the AI slowly degrading was like watching a plant grow for us, versus for you guys who came straight from U12 to 1.0 and could do a direct comparison. It really wasn't until post release and some players saying "didn't the AI used to behave XYZ way?" that made us realize how the AI had gotten lobotomized.
Long story short, that brings us to now and we have been working on repairing this! With this patch, we believe we finally have the AI back to where it was right after Animation Overhaul in U11. ːlunar2019piginablanketː
This should be a major improvement if you have been playing 1.0, though as always with the AI, it's far from perfect. There is no real solution for "dream AI", both because on a technical level a VR full physics simulation will always have a risk of strange things or jank that a non-physics simulation does not, and because of what I was mentioning about about regression risk in our game framework Thunder Road, which makes it slow as hell and an absolute nightmare to work on.
This is one of the reasons we are dying to move to Thunder Road 2 which will be our new game framework for the next game; we can learn from the rookie mistakes made in Blade & Sorcery development and create something better if we are able to start from scratch.
Anyway, this is just some background information I wanted to share with you guys to give context, but let's actually get into the AI fixes in this patch!
[b]NOTE: If you were playing with AI mods now or at any point since 1.0 release, it is highly recommended you remove the mods and delete your save / start a new character save.[/b]
If you do not do this, the AI mods are likely gonna conflict with this patch and cause derpy behavior or even break things. This includes if you had an AI mod but didn't delete your save - the AI mod can create weird behaviors in your save even when the mod is removed. If you report bugs and then it is discovered you had AI mods installed or were using a corrupt modded save...
[img]https://media1.tenor.com/m/3l4Ky00EA8IAAAAC/liam-neeson-i-will-find-you.gif[/img]
Here is what is improved in the AI:
[h2]1v1 improvements, parry and riposte restored[/h2]
1v1 AI is now working really well and restored back to U11 levels. ːpraisesunː
The AI should be responsive and not just stand there; now they should actually engage you aggressively.
[img]https://media.giphy.com/media/mvxLWHeliwpsxbRI8m/giphy.gif[/img]
The AI can chain attacks like they used to be able to, and can perform a parry and riposte.
Some animations that were not triggering are now working, such as the straight stab.
[img]https://media.giphy.com/media/o4NfLOncgAgUTN4dHT/giphy.gif[/img]
A huge improvement is no more face hugging enemy! This was such a pain in the ːpontius_angryː and ruiner of combat, so hopefully you will not be experiencing this anymore.
Although rangefinding was majorly improved there is still some risk of facehugging with enemies using certain small weapons - in particular the hatchet, and sometimes the club. The reason there is a risk is because these weapons are so small that the enemy needs to get up very close to effectively use it, so it is not so much facehugging as a result of a rangefinding bug as much as it is the nature of the weapon in VR type thing.
Regarding these "little weapons" we were split on it between removing them from AI and thus removing the problem, or keeping them in so as not to lose content but retaining that rangefinding risk. In the end some of the team felt very strongly for keeping them in, so we are going to leave it and see how it goes.
[img]https://media.giphy.com/media/J3aoCipFlAJnh5UYp5/giphy.gif[/img]
Something worth noting -- The upper faction tiers (Eraden, Eye) are better fighters than the lower factions (Wildfolk, Outlaws).
You should still have a pretty easy time with the lower factions as they are not fighting to their full capabilities, so if you want more of a challenge and to see the full extent of the 1v1 AI you should try fighting the upper factions in 1v1.
[h2]Longsword AI improvement[/h2]
The AI was already using longswords but you might have noticed a ton of jank in the animations or very questionable rangefinding.
A complete oversight by us was the AI was not setup to effectively use the longsword because it was never intended to be a thing - we have no two-handed animations and never intended to use one-handed animations for longswords. However, this got added late in development for extra content, but with this oversight the consequence meant the quality was not there.
Other than removing longswords from AI there seemed to be no great solution for this because as mentioned, the AI was never setup to use this sword with one-handed animations. However, to our pleasant surprise a great solution was achieved by tweaking the animation speeds so the AI swings it a little slower.
This is something we would generally avoid doing because things get weird when you change animation speeds, but in this case it worked really well! It actually seemed to really help the physics of the longsword when the AI is using it and you can achieve some really awesome parries.
[img]https://media.giphy.com/media/POWfdD0lVzBPvzlnHh/giphy.gif[/img]
[h2]Shield AI improvements, shield bash working properly[/h2]
Worth saying right up front, pre-patch 1.0.3 the shield bash AI was legit broken! The AI was engaging in a really obnoxious behavior where they would move in to shield bash as a primary attack, which meant every shield guy you met was charging right up into your face to bash you (as if the facehugging issue was not bad enough) because that was the only attack they had.
This was actually addressed in patch 1.0.3 but it has been further refined and improved here.
[img]https://media.giphy.com/media/S24lFNIimcnEqnu0ZA/giphy.gif[/img]
Something to note is that shield enemy attack don't engage as aggressively as one-handed enemy in chaining attacks and will turtle more.
However, with regards to chained attacks there is a new behaviour added which is that the AI can use the shield bash as part of their attack chains, so for example they may slash and then bash.
[img]https://media.giphy.com/media/RP8yj38PyOrqGoiSfv/giphy.gif[/img]
Other general improvements made have been to the shield tracking. While still far from perfect, the tracking is a bit more aggressive now to improve the chances that the AI catches an incoming slash with the shield.
We thought this type change would be a bit risky because whenever you mess with tracking you run the risk of the AI motions looking really weird, however it is pretty good!
[img]https://media.giphy.com/media/XiqAZDUBEatBSRUXbG/giphy.gif[/img]
[h2]Death animations[/h2]
In patch 1.0.3 we had discovered that death animations were literally not working at all ːeagleangryː but we had been able to restore them.
We have further improved them in patch 1.0.4 and now it should be more like the old days.
[img]https://media.giphy.com/media/n3hnQfYkD8Abo7OSP0/giphy.gif[/img]
[img]https://media.giphy.com/media/79Nz9je3ra8hYShtyV/giphy.gif[/img]
Same as it used to be in the past, death anims should be a combination of animation and ragdoll so you can get that "finisher" type kill.
[img]https://media.giphy.com/media/fwcTb9o9sssXENzWSl/giphy.gif[/img]
[h2]General Rangfinding improvements[/h2]
The pox on 1.0 combat.... this had been a major bug that burrowed deep into our code. The issue which I'm sure you all know well is that the enemy was getting so close to the player that they were practically glitching inside the player avatar.... ːvsskullː
This was probably the worst issue of all the AI regressions so the guys pored over and over this issue to improve it. Hopefully you will find it much better now!
[img]https://media.giphy.com/media/G13yr6Y2UEJyCJvTsV/giphy.gif[/img]
[h2]Dodge[/h2]
We have had a hell of a time trying to improve dodge.
The issues we are encountering are with enemy self-preservation and finding a hard balance to strike between "the AI can't get out of the way of a weapon fast enough" and "the AI are dodging so ridiculously fast that they are Sonic".
Part of this issue is Thunder Road, but another part of this issue is just the fact that it super hard to counter the reality of the game being VR and that the player can attack in any direction, in any manner, with any type weapon, and at any speed. To try and deal with this, when the AI dodge is ramped up to increase survivability it just too goofy looking... if the player jiggles their sword the AI is diving 20 feet back. ːgoblinː
The guys worked really hard to find the sweet spot and what we have is probably the best middle ground. Overall I am still not 100% happy with it, but am coming to peace that it may be the best it can be on the Thunder Road framework. I think my disappointment comes from wishing there was a "perfect answer" but the reality is it will never be so perfect to account for all situations possible in VR.
[img]https://media.giphy.com/media/ea5upSun477NJScXm7/giphy.gif[/img]
[h2]Two-weapon combat improvements[/h2]
Enemies who were using two weapons were one of the major contributors to the broken rangefinding.
The issue we were having was that the two-weapon animations were not well suited to VR. Essentially all the AI animations we were using meant the AI would "step in" to do their attacks, but as you know, if you were too close to the AI this meant the AI would basically step up into your face and get tangled in the player avatar.
There was no way to fix that behavior because the issue was in the animations, so what we did instead was remade any of those animations where the enemy steps in. Now the enemy is rooted when they initiate the animation.
[img]https://media.giphy.com/media/I9KZmVozu427OGSH58/giphy.gif[/img]
As mentioned earlier about "little weapons" like the hatchet, there is still some risk with those weapons, such as the double axe guy, simply because the enemy needs to be pretty close to use them. Overall it should be much better though.
---
That's it for AI stuff! Besides AI, did I mentioned this was also a massive bugfix update? lol
Full changelog below!
[h1]Update 1.0.4 Changelog[/h1]
[h2]Improvements[/h2]
[list]
[*][AI] All NPCs have a higher chance to dodge and try to dodge earlier, they also don't ignore certain types of attacks anymore, making them dodge better again
[*][AI] All NPCs have had their block settings tweaked so they properly assess where an attack is coming from (making them block better)
[*][AI] Attack ranges have been slightly tweaked to reduce how often NPCs end up too close after stepping in to attack
[*][AI] Death animation strength has been tweaked so they play more noticeably
[*][AI] Dodge animations don't instantly switch back to idle poses when they finish
[*][AI] Dual-wielding enemies don't slowly creep into your space as they make combo/chain attacks, using tweaked animations with their feet locked in place
[*][AI] Fix NPCs not being able to draw an offhand if they already have their main hand equipped
[*][AI] Fixed npc double fireball cast if interrupted
[*][AI] Fixed npcs staying in death animations when pushed with gravity, they now properly ragdoll
[*][AI] Heavily armored NPCs have a lower chance to dodge in general
[*][AI] Inactivity timer to auto-end waves after 60 seconds without action, to help prevent being stuck when the AI is lost/stuck somewhere
[*][AI] NPCs with heavier weapons play their attack animations more slowly to account for physics differences
[*][AI] Prevent NPCs dropping items sometimes when pulled from quiver on body
[*][AI] Shield enemies can now perform a shield bash as a quick counter-attack when you parry their attack
[*][AI] Shield enemies no longer include their short-range shield bash in range-finding and only activate it if you get too close
[*][AI] Shield enemies position their shield more in-line with an incoming attack than before
[/list]
[h2]Features[/h2]
[list]
[*][Cheat] Add button to spawn lore from journal when dev mode is enabled
[*][Cheat] Added unlock lore cheat to sandbox menu
[*][Debug] Add physic timestep console command
[*][Debug] Added command to open the lore journal in your hand
[*][Debug] Added lodbias slider to devmode graphic options
[*][Feature] Add per-hand apparel charge time modifiers
[*][Feature] Added new tutorials for quivers, spell wheel, armor equipping
[*][Feature] Updated the tutorial for the item book to explain the tabs more
[*][Feature] Updated/Fixed BHaptics support
[*][Feature] Use hand written fonts on home maps and travel papers
[/list]
[h2]Fixes[/h2]
[list]
[*][Fix] Fix bug with modders shaders that were explicitly added to bundles being stripped
[*][Fix] Fix creatures not having their eyes roll back if they weren't looking at something before dying
[*][Fix] Add a collider on the infuser pipe to prevent hard earned crystals falling down
[*][Fix] Added colliders to carpets so items dont get hidden under them
[*][Fix] Added colliders to the Loot Chest handle
[*][Fix] Added fakeview to the hidden cave entry
[*][Fix] Added some real nails next to the static nails in Transi_22
[*][Fix] Always spawn creatures from the pool when possible
[*][Fix] Avoid NRE if we give an invalid string id to get the message's image/video address
[*][Fix] Catch OneDrive Directory read/write exception when loading saves
[*][Fix] Changeed creature table drop weight from int to float for greater precision in weighting
[*][Fix] Enable click and hold feature on new char manual height arrows
[*][Fix] Ensure that audio fading happens even if post processing is disabled when loading levels
[*][Fix] Ensure the game doesnt try to pause twice. Add logging when system menu opens
[*][Fix] Fix broken coin stacks not going into inventory
[*][Fix] Fix chicken being flagged as a golem
[*][Fix] Fix for click and hold feature on arrow buttons being active when the pointer enters the button again after exiting the button while holding the trigger
[*][Fix] Fix game mode icons not loading when going back to the main menu
[*][Fix] Fix issue with breakables parent interactable data overwriting the broken items interactable data
[*][Fix] Fix modded skill trees not playing
[*][Fix] Fix profiler end samples not being called when zone code returns early
[*][Fix] Fix unintentional not-not condition preventing GolemSpawner stun golem buttons working
[*][Fix] Fixed Dungeon sometimes changing sun positionin levels when leaving dungeons
[*][Fix] Fixed Handle inconsistencies on the Plank_2.25 prop
[*][Fix] Fixed LOD1 Male wrist going invisible
[*][Fix] Fixed NRE when the player is holding a non-item handle at the end of the survival mode wave
[*][Fix] Fixed Ragged Trousers LOD1/2 reveal
[*][Fix] Fixed Signs & Traps missing in Survival
[*][Fix] Fixed Torch Holder orientation of Torch in some dungeon rooms
[*][Fix] Fixed a collider overlapping with the interior of the cave, causing the cave to be culled if you touched it
[*][Fix] Fixed a missing handle to the leather part of the greatsword
[*][Fix] Fixed bug with creature body/skin mats not loading
[*][Fix] Fixed bug with crystal links on golem not disabling sometimes when the golem was killed
[*][Fix] Fixed bug with mod addressable assets being loaded when loading json only
[*][Fix] Fixed buttons not being cleared if trigger button was released with the pointer outside the button
[*][Fix] Fixed canope jar lid not being able to be taken off
[*][Fix] Fixed creatures not taking damage if wrist sliced while attacking
[*][Fix] Fixed dungeon layout spawning to allow certain rooms to spawn side by side
[*][Fix] Fixed duplicate air helper component on player creature
[*][Fix] Fixed gap behind pillar wall in Golem Arena
[*][Fix] Fixed golem crystal sometimes falling through the ground
[*][Fix] Fixed golem face plate glitching in certain circumstances
[*][Fix] Fixed handle reach gizmo to align with default grab axis ratio
[*][Fix] Fixed handles on crates and broken crate parts using the wrong interactableIds
[*][Fix] Fixed issue with climbing/swimming/fist logic was running for non player creatures
[*][Fix] Fixed issue with some effect prefabs being marked with IsPooled in the prefab causing them to be despawned incorrectly.
[*][Fix] Fixed issue with water sometimes running updates in realtime, impacting performance
[*][Fix] Fixed issues with rivers fake transparency capture
[*][Fix] Fixed missing collider on wall prefab
[*][Fix] Fixed no PlayerSpawner in Underwater1 & Transi 21 | Water Color
[*][Fix] Fixed notes sometimes being frustrum culled when holding them close
[*][Fix] Fixed rope sliding speeds being different depending on headset refresh rate and physics settings. Removed unused reverse code on GetTimeStepMultiplier
[*][Fix] Fixed shopkeepers pants turning shiny on hit
[*][Fix] Fixed some edge cases when unlocking lore not saving properly
[*][Fix] Fixed some items not being lit properly in dungeons
[*][Fix] Fixed some weird culling on rocks in home
[*][Fix] Fixed statue sword not rotating correctly when using tele spin
[*][Fix] Fixed throwable dagger not being flagged as a throwable weapon, and lacking ranged weapon data
[*][Fix] Fixed world items like the spikes in arena having their colliders move in unexpected circumstances
[*][Fix] Foot tracking adjustements & Prevent IK target zone to trigger for tracked foot
[*][Fix] Force items with light volume recievers to always use dynamic triggers in dungeons
[*][Fix] Gravity hammer skill works on dalgarian key orbs
[*][Fix] Improved dalgarian door textures
[*][Fix] Improved draw cutting and enabled pressure stabbing for weapons.
[*][Fix] Improved tutorial UI message positioning
[*][Fix] Increase reach on nail club
[*][Fix] Item prices dont show decimal places now. As everything sells for whole integers
[*][Fix] Journal will now update correctly when changing languages.
[*][Fix] Link the credits to the master audio mixer so the credits arent super loud
[*][Fix] Mainmenu - Tweaked the size and positions of the UI elements inside the panels to make them visually more pleasing
[*][Fix] Minor adjustment to pressure cuts
[*][Fix] Move unused head wardrobes out of bas catalog
[*][Fix] Prevent lightning and molten beam breaking golem faceplate before defeat
[*][Fix] Prevent releasing a null video clip
[*][Fix] Prevent shadows being disabled completely on PCVR by claming shadow distance to 0.1. This prevents shaders breaking
[*][Fix] Prevent the new crystal being grabbable when its initially spawned on the infusor before the item magnet grabs it and locks it
[*][Fix] Properly localize Dalgarian words in Italian
[*][Fix] Release the icon from skilltree orb on despawn
[*][Fix] Reload localization after loading mods
[*][Fix] Rework LightProbeVolume to remove sha textures from materials when the texture are unload so it can effectively unload
[*][Fix] Subtitles increase size when in long distance
[*][Fix] Tweaks to ocean visuals in various dungeon rooms
[*][Fix] Update owner on SwapWith if new item can be stored in any kind of storage
[*][Fix] Updated ItemAltar prefab
[*][Fix] Fix AI casting immediately on spawn
[*][Fix] Fix missing handle data for wickerbasket_06
[*][Fix] Fixed the exposure zones in home
[*][Fix] Fixed tribal shield not being able to imbue
[*][Fix] Fixed typo in loading screen tips
[*][Fix] Reduced required velocity to damage with punches
[*][Fix] Vastly improved draw cutting on all swords and daggers
[*][GFX] Fixed detail maps not showing on some materials like rocks
[*][Lore Journal] Fix issue with only showing text IDs instead of the localised text
[*][Spells] Add a delay between item grab and when it can be used to dive strike
[*][Spells] Don't rotate Hyperfocus VFX with creature
[*][Spells] Enable dive strike swing detection
[*][Spells] Fix arcwire blocking TK
[*][Spells] Fix items getting re-trapped in grav bubble while it's closing
[*][Spells] Fix molten arc persisting on enemy weapons under very specific circumstances
[*][Spells] Fixed gravnado targeting vfx hitting creatures
[*][Spells] Increased armored enemy resilience to being ignited
[*][Spells] Prevent gravity pushing own held item
[*][Spells] Use capsule colliders instead of mesh colliders for tierbound skill orbs to improve performance
[*][Spells] Fix potential NRE in skill tree receptacle
[*][ModManager] Improved filtering performance
[*][ModManager] Improved image downloading performance
[*][ModManager] Improved mod loading performance
[*][ModManager] Improved performance when uninstalling mods
[*][ModManager] Reduced the number of API calls used, lowering the chance of a "please wait" message appearing
[*][ModManager] Updated Mod.io plugin
[/list]
[h2]Performance[/h2]
[list]
[*][Performance] Asset rework on ladders to reduce draw calls
[*][Performance] Catalog - avoid running coroutines we dont need to
[*][Performance] Catalog - optimisations to load the catalog in parallel with addressables where possible to reduce idle time waiting for assets to load
[*][Performance] Changed many UI components to use sprites to improve batching
[*][Performance] Fixed skill tree not being SRP batched
[*][Performance] Home optimisations
[*][Performance] Improved UI performance on shop price tags
[*][Performance] Improved culling performance in dungeons
[*][Performance] Improved performance when golem blows apart
[*][Performance] Improved static batching performance in dungeons
[*][Performance] LightVolumeReciever performance improvements
[*][Performance] Merged many UI element sprites into a sprite atlas to improve batching
[*][Performance] Optimized interactable data loading by stopping it attempting to load more after its found the data
[*][Performance] Reduced duplicate assets in bundles to reduce build size and memory usage
[*][Performance] Reworked tower asset in home
[*][Performance] Various code optimisations
[*][Performance] Various dungeon asset performance optimisations
[/list]
[h2]Modding[/h2]
[list]
[*][Mods] Add save value field to mod option data, and default value index. Set up a bypass to circumvent the automatic default value index assignment. Also prevents mod options with "saveValue" from loading from the player save if they had ever been saved before.
[*][Mods] Added extra logging to notify of invalid mod installation
[*][Mods] Allow ModOptionData to override the default value index, don't load saved values if option doesn't save value
[*][Mods] Default value index defaults to -1, only read from member if value is left at -1
[*][Mods] Dont try to load mods in nested folders. This was to support mod.io initially but was resolved and this code wasnt removed.
[*][SDK] Add IKTargetZone back to sdk
[*][SDK] Add SDK invokable methods to force creatures and items to enter/exit zones
[*][SDK] Add a button to check labels for missing android/windows labels
[*][SDK] Add a warning in the SDK if a modder tries to build a bundle that doesnt have IsMod checked
[*][SDK] Add check for missing labels on mods addressable groups in the SDK
[*][SDK] Add clear statuses methods to CreatureTool and ItemTool
[*][SDK] Add default owner field on item spawner
[*][SDK] Add extra events onto some components to facilitate new/expanded event linkers
[*][SDK] Add improved SMR bone transfer tool, remove BonesDuplicator
[*][SDK] Add missing override for Remove status function
[*][SDK] Added SetEditMode to mirror back
[*][SDK] Added a bunch of methods to Creature, CreatureTool, and ItemTool to broaden the range of things modders can do within the SDK with no scripts necessary
[*][SDK] Added bakedlodgroup / plv example to protolevel
[*][SDK] Added event for the data being setup on the creature
[*][SDK] Added isZeroIntensity to AreaGlobalSunParameter to allow rooms with 0 intensity sun (a fake sun essentially) to spawn side by side
[*][SDK] Added item sell/buy events and item ownership change events
[*][SDK] Added lots of shaders to the shader bundles to reduce duplicates and duplicate memory
[*][SDK] Added reparenting to IToolControllable
[*][SDK] Added script to enable a component when devmode is enabled
[*][SDK] Added the Proto Potion
[*][SDK] Added timeslicing support to thunderbehaviour
[*][SDK] Adds a golem linker component (Allowing modders to trigger events on certain golem states and actions, as well as control the golem in limited ways)
[*][SDK] Adds a player mana component (Allowing modders to add events to spell load, focus use, power use, etc. and also activate certain mana abilities such as loading spells, changing focus, and activating powers)
[*][SDK] Adds a skill linker component (Allowing modders to add events that trigger on skill load/unload events)
[*][SDK] Adds buy/sell events to item event linker, as well as ownership change events
[*][SDK] Adds default owner field to item spawners, and SwapWith keeps the ownership of the item beforehand if the item was storable
[*][SDK] Area/Gateway restoreed some methods
[*][SDK] Change probability drop weight from int to float
[*][SDK] Creature despawn event for WaveSpawner inactivity timer
[*][SDK] Fix SDK method stripping on FxController
[*][SDK] Fix SDK stripping issues on CatalogData, StatusData, and Zone
[*][SDK] Fix index out of bounds errors if StanceData has only one idle pose configured
[*][SDK] Fix migration issue in the SDK where modders addressable groups lose the bundle schema, so we can automatically add it back
[*][SDK] Fix mirror gizmo
[*][SDK] Fix price tag gizmo
[*][SDK] Fixed Proto Assets Spawn and PriceTag Points
[*][SDK] Fixed mod asset bundle groups not using the correct build/load paths and not being set to the default group when building
[*][SDK] Make sure Shader strip config uses the quality level instead of the build target to get the correct stripping config
[*][SDK] Missing constructor for ItemContent
[*][SDK] Move BlendShapeSyncer out of core into SDK
[*][SDK] Move FaceCam script to SDK
[*][SDK] Prevent event linkers encountering errors when copying
[*][SDK] Refactor discombobulate a bit to allow modders to stun creatures using static method
[*][SDK] Rename ReleaseString to TryReleaseString, add back void ReleaseString method
[*][SDK] Set root nodes in HumanCombatCrossbow and HumanCombatFirearm to empty so modders can overwrite
[*][SDK] Status/skill fixes
[*][SDK] Change triinspector to an embeded package so git isnt a requirement for people to use the sdk
[*][SDK] Expose spawn/stop methods for effect spawner
[*][SDK] Fixed eventcontroller stuff being stripped from sdk
[*][SDK] Include triinspector package in the SDK
[*][SDK] Migration from easy buttons to triinspector
[*][SDK] Readded missing Begin/End buttons for the shaker for the sdk
[*][Plugins] Updated SteamVR Unity Plugin to 2.8.0
[*][Plugins] Updated oculus sdk plugin. Use OVR with OpenXR backend
[/list]