Antidamage

  • Sep 2, 2024
  • Joined Sep 5, 2018
  • I guess in the end that wasn't the blocking issue. I have no idea what changed, but everything now loads on the device. I guess destroying the settings by mistake was a good move.

    Thanks for the help!

  • Sorry for the delay, right as I came to test this I broke my build configuration and it took the better part of a week to restore everything. Going crazy.

    Including the spine package shaders hasn't fixed the error above. I can only assume that it IS halting on this error in non-development builds and not something else, as it's the only error I get in development.

    I'll re-generate the full log output and add it after this. Any more ideas are welcome!

    • Harald It's similar to Always included shaders, where if you don't use a shader in any Materials in a build and later programmatically create a Material at runtime using this shader, you have to add it to Always included shaders so that it's not missing.

      This is probably what I need. I've been trying to figure out how to force-include everything to do with spine but all I get is nothing:

      The other aspect is, I have tried forcing a wee spine animation to exist in the project and not be assembled at runtime to make the shaders be included and it didn't fix the issue.

      • Realised 4.2 is the latest, so I removed and readded the latest package from github. That didn't resolve it.

        I worked out I had to replace "shader_feature" with "multi_compile", not the argument following it. Trying that now.

        • This is a little bit generic, I don't know what to do.

          I don't want to break the shader, but it seems like I have to disable the straight alpha input in order to enable multi_compile in the Spine/Skeleton shader? Once I've done that there's no change in the application and no recompile so I don't know if changing it will actually flow on through to a newly compiled shader.

          I believe I'm using the correct shader. Again, in dev my spine animations show and run on the device. But in production I think that this error kills it at runtime before it can do anything.

          The runtime is up to date, seemingly (the github version is still at 4.1? No package manager prompt to update.)

          Fallbacks: again, I'm not confident editing the shader.

          Asset bundles and refs: yeah it looks like they're there, because the animation loads and plays.

          Testing in a clean project: I am completely out of time and won't have a job tomorrow if I can't fix this, so there just isn't time to test it in this way. It would take me at least a week to set up.

          • Shader Spine/Skeleton, subshader 0, pass 1, stage all: variant <no keywords> not found.

            I've never heard of "keywords" in this context before so the google results I'm getting make no sense to me.

            Is this a Spine issue or is it a Unity problem? Does anyone know how to resolve it?

            In a dev build everything looks okay aside from this error showing in the console, but I think this error is killing the non-development build on startup.

            I'm on Spine 4.1.12 and Unity 2022.3.0f1

            Thanks in advance

          • I was not trying to be rude, I was trying to be concise because it's a difficult thing to communicate in text. It's not helpful to assume rudeness when most people simply aren't going to be rude in that context, especially when they're looking for help.

            I'm coming from UE so my assumption was that the json skeleton was the main file to import, and the rest would be imported with it if they were named correctly. I don't know a lot about unity so I don't always know the right questions to ask.

            So for instance is it better to keep source assets in the project structure before importing them, or is it better to keep them outside of the project structure until they're imported?

            Harald Copy the exported files (or the folder containing them) to your desired subfolder of your project's Assets folder. You can do this by dragging the exported files from an Explorer/Finder window into your desired folder in Unity's Project panel.

            Yeah this isn't super clear to me as it could mean several things, e.g. what I asked above. It implies an understanding that there isn't a root file that will gather the rest like in UE. I guess I'll just watch the videos as well since, like I said earlier, it's a difficult process to convey in text even for esoteric.

            • Aha, thank you. It would be a good addition to add a note to that window with the files listed!

              • Here are the files (minus the texture):

                count.zip
                8kB
              • please install the runtime according to the Installation section of the documentation.

                This is the same page I said I followed in my first post. I think it may help to read it again to fully understand what I'm asking.

                No, they're installed. This is what the importer looks like after clicking Browse Atlas, turning off the *.asset filter and selecting the *.atlas.txt file:

                Basically nothing happens after selecting the atlas.

                This is what I have installed:

                The exported spine assets are set to version 4.1 and are from 4.1.20. They were exported using the Spine.com commandline runtime. And just so it's totally clear, here are the files I'm importing:

                -

                • Misaki The issue is covered in the video, and it doesn't work. I outlined what is going wrong in my post.

                  • Hiya! I'm importing spine assets to Unity for the first time.

                    This is how my previously exported files look:

                    Following the setup guide here it says to rename the atlas to *.atlas.txt, however after doing that when I import the .json file Unity doesn't find the atlas. When I browse to it, the atlas is never linked up.

                    Is there something else I have to do?

                    Second question: what's the best template to use for low end mobile and Spine? I've started with the 2D URP template, but would the Mobile 2D template be better?

                    • Mario It's reporting back r21b, I'm struggling to get it to use r25b.

                    • I'm getting this error while packaging for Android using UE 5.2:

                      UATHelper: Packaging (Android (ETC2)): D:/Projects/Poppy and Buddy 5.2/Plugins/SpinePlugin/Source/SpinePlugin/Private/SpineSkeletonDataAsset.cpp(301,27): error: temporary whose address is used as value of local variable 'fromChar' will be destroyed at the end of the full-expression [-Werror,-Wdangling]
                      UATHelper: Packaging (Android (ETC2)): const char *fromChar = TCHAR_TO_UTF8(*data.From);
                      UATHelper: Packaging (Android (ETC2)): ^~~~~~~~~~~~~~~~~~~~~~~~~
                      UATHelper: Packaging (Android (ETC2)): D:/UE_5.2/Engine/Source/Runtime/Core/Public/Containers/StringConv.h(962,39): note: expanded from macro 'TCHAR_TO_UTF8'
                      UATHelper: Packaging (Android (ETC2)): #define TCHAR_TO_UTF8(str) (ANSICHAR*)FTCHARToUTF8((const TCHAR*)str).Get()
                      UATHelper: Packaging (Android (ETC2)): ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                      UATHelper: Packaging (Android (ETC2)): D:/Projects/Poppy and Buddy 5.2/Plugins/SpinePlugin/Source/SpinePlugin/Private/SpineSkeletonDataAsset.cpp(302,25): error: temporary whose address is used as value of local variable 'toChar' will be destroyed at the end of the full-expression [-Werror,-Wdangling]
                      UATHelper: Packaging (Android (ETC2)): const char *toChar = TCHAR_TO_UTF8(*data.To);
                      UATHelper: Packaging (Android (ETC2)): ^~~~~~~~~~~~~~~~~~~~~~~
                      UATHelper: Packaging (Android (ETC2)): D:/UE_5.2/Engine/Source/Runtime/Core/Public/Containers/StringConv.h(962,39): note: expanded from macro 'TCHAR_TO_UTF8'
                      UATHelper: Packaging (Android (ETC2)): #define TCHAR_TO_UTF8(str) (ANSICHAR*)FTCHARToUTF8((const TCHAR*)str).Get()
                      UATHelper: Packaging (Android (ETC2)): ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
                      UATHelper: Packaging (Android (ETC2)): 2 errors generated.
                      PackagingResults: Error: temporary whose address is used as value of local variable 'fromChar' will be destroyed at the end of the full-expression [-Werror,-Wdangling]
                      PackagingResults: Error: temporary whose address is used as value of local variable 'toChar' will be destroyed at the end of the full-expression [-Werror,-Wdangling]

                      I'm on the latest commit of the 4.1 branch. Is this a known issue? Is there a fix?

                    • Misaki They are not present in the setup mode, as shown in the screenshot.

                      As there is no way to add an image node, does this mean that the project is corrupted and unretrievable?

                      • Misaki That is the strange thing, there are no image nodes. They're just gone.

                        • [unknown] How would that help? The image paths are broken, no data was lost. Stop talking down to me without even reading my post.

                        • I am loading up a very old project that I just found in the editor to recover the animations. However all of the image links are broken due to changing workstations.

                          Is there a way to fix this? I can't figure it out. Thanks!