A bit of background. I've been working on abilities for awhile now, and I just have been getting endless amounts of grief with them. From things like disabling gravity not working (when it works on every other ability in the demo scene), to whole fields not showing up, to input not being registered, etc.
1. UCC Vanilla Install (absolutely nothing else installed in a clean project)
2. 2020.3.11f1 LTS
3. Abilities fail to serialize properly. Input won't be registered, abilities will fail to activate, fields in the abilities being changed fails to reflect in game mode.
4. Get a fresh copy of UCC Vanilla Installed. Turn off "use gravity" on Jump. Open demo scene, verify it's working (without gravity). Exit playmode. Disable Jump Ability (uncheck). Save.
A) Start a new ability script called Jump1. Copy over code from Jump. Make sure to keep class name Jump1. Add the class attribute tag
Save script. In editor, add Jump1 ability. Look at fields, sometimes fields will fail to load entirely, other times they load, BUT... now run the scene. Try jumping (without gravity). See difference? Exiting and restarting unity seems to have no effect.
B) As before with a clean project. Now completely exit out of Unity and VS. Go to the file in Explorer. Duplicate the Jump.cs script. Rename it Jump1.cs. Open it with notepad, change class name to Jump1, add attribute tag as before. Save. Load up unity. Test Jump1 as befpre. In my trial, this worked without issue.
It also seems that once an ability is serialized incorrectly, that nothing you do (including quitting and restarting both Unity and VS) will fix it. This includes having removed and re added it to the abilities on Nolan
I've encountered numerous problems, but this seems to be the most reliable way to recreate.
5. No Error Message
As a question, what version of Unity are you working in for making Abilities? I would like to switch to that for making abilities in for now.
1. UCC Vanilla Install (absolutely nothing else installed in a clean project)
2. 2020.3.11f1 LTS
3. Abilities fail to serialize properly. Input won't be registered, abilities will fail to activate, fields in the abilities being changed fails to reflect in game mode.
4. Get a fresh copy of UCC Vanilla Installed. Turn off "use gravity" on Jump. Open demo scene, verify it's working (without gravity). Exit playmode. Disable Jump Ability (uncheck). Save.
A) Start a new ability script called Jump1. Copy over code from Jump. Make sure to keep class name Jump1. Add the class attribute tag
Code:
[DefaultUseGravity(AbilityBoolOverride.False)]
B) As before with a clean project. Now completely exit out of Unity and VS. Go to the file in Explorer. Duplicate the Jump.cs script. Rename it Jump1.cs. Open it with notepad, change class name to Jump1, add attribute tag as before. Save. Load up unity. Test Jump1 as befpre. In my trial, this worked without issue.
It also seems that once an ability is serialized incorrectly, that nothing you do (including quitting and restarting both Unity and VS) will fix it. This includes having removed and re added it to the abilities on Nolan
I've encountered numerous problems, but this seems to be the most reliable way to recreate.
5. No Error Message
As a question, what version of Unity are you working in for making Abilities? I would like to switch to that for making abilities in for now.
Last edited: