rive-app / rive-unreal

MIT License
77 stars 4 forks source link

Building on windows errors #81

Closed Tackyflea closed 2 months ago

Tackyflea commented 3 months ago

Hey there

Trying to do a cook and build of Rive on windows and I'm getting these errors

LogRiveRenderer: Display: Rive running on RHI 'D3D11'

LogClass: Error: StructProperty FRiveEvent::Id is not initialized properly even though its struct probably has a custom default constructor. Module:RiveCore File:Public/RiveEvent.h

LogAutomationTest: Error: LogClass: StructProperty FRiveEvent::Id is not initialized properly even though its struct probably has a custom default constructor. Module:RiveCore File:Public/RiveEvent.h 

edit: it also prints messages on execution order, should I include Rive manually in the build cs in a specific order?

Helper: Packaging (Windows): NDEBUG is set to 1 before including Rive libraries! Undefining NDEBUG...
UATHelper: Packaging (Windows): [76/86] Compile [x64] RivePostProcessSceneViewExtension.cpp
UATHelper: Packaging (Windows): [77/86] Compile [x64] RiveSceneViewport.cpp
UATHelper: Packaging (Windows): NDEBUG is set to 1 before including Rive libraries! Undefining NDEBUG...
UATHelper: Packaging (Windows): [78/86] Compile [x64] RiveTexture.gen.cpp
UATHelper: Packaging (Windows): NDEBUG is set to 1 before including Rive libraries! Undefining NDEBUG...
UATHelper: Packaging (Windows): [79/86] Compile [x64] RiveTextureResource.cpp
UATHelper: Packaging (Windows): NDEBUG is set to 1 before including Rive libraries! Undefining NDEBUG...
UATHelper: Packaging (Windows): [80/86] Compile [x64] RiveTexture.cpp
UATHelper: Packaging (Windows): NDEBUG is set to 1 before including Rive libraries! Undefining NDEBUG...
UATHelper: Packaging (Windows): [81/86] Compile [x64] RiveViewportClient.cpp
UATHelper: Packaging (Windows): NDEBUG is set to 1 before including Rive libraries! Undefining NDEBUG...

and on the warnings side, here are the messages

UATHelper: Packaging (Windows): LogInit: Display: Warning/Error Summary (Unique only)
UATHelper: Packaging (Windows): LogInit: Display: -----------------------------------
UATHelper: Packaging (Windows): LogInit: Display: LogUObjectGlobals: Warning: [AssetLog] C:\Users\Lucky\Documents\Unreal Projects\td\Plugins\Rive\Content\Materials\VPRenderTextureMaterial.uasset: Failed to load '/VirtualProductionUtilities/Materials/MF_IgnoreExposure': Can't find file.
UATHelper: Packaging (Windows): LogInit: Display: LogLinker: Warning: [AssetLog] C:\Users\Lucky\Documents\Unreal Projects\td\Plugins\Rive\Content\Materials\VPRenderTextureMaterial.uasset: VerifyImport: Failed to load package for import object 'Package /VirtualProductionUtilities/Materials/MF_IgnoreExposure'
UATHelper: Packaging (Windows): LogInit: Display: LogUObjectGlobals: Warning: [AssetLog] C:\Users\Lucky\Documents\Unreal Projects\td\Plugins\Rive\Content\Materials\VPRenderTextureMaterial.uasset: Failed to load '/VirtualProductionUtilities/VR/Textures/RT_LinearBlack': Can't find file.
UATHelper: Packaging (Windows): LogInit: Display: LogLinker: Warning: [AssetLog] C:\Users\Lucky\Documents\Unreal Projects\td\Plugins\Rive\Content\Materials\VPRenderTextureMaterial.uasset: VerifyImport: Failed to load package for import object 'Package /VirtualProductionUtilities/VR/Textures/RT_LinearBlack'
UATHelper: Packaging (Windows): LogInit: Display: LogUObjectGlobals: Warning: [AssetLog] C:\Users\Lucky\Documents\Unreal Projects\td\Plugins\Rive\Content\Materials\MI_SnapshotScreen.uasset: Failed to load '/VirtualProductionUtilities/Materials/VpRenderTextureMaterial': Can't find file.
UATHelper: Packaging (Windows): LogInit: Display: LogLinker: Warning: [AssetLog] C:\Users\Lucky\Documents\Unreal Projects\td\Plugins\Rive\Content\Materials\MI_SnapshotScreen.uasset: VerifyImport: Failed to load package for import object 'Package /VirtualProductionUtilities/Materials/VpRenderTextureMaterial'
UATHelper: Packaging (Windows): LogInit: Display: LogMaterial: Warning: [AssetLog] C:\Users\Lucky\Documents\Unreal Projects\td\Plugins\Rive\Content\Materials\VPRenderTextureMaterial.uasset: Failed to compile Material for platform PCD3D_SM6, Default Material will be used in game.
UATHelper: Packaging (Windows):    (Node TextureSampleParameter2D) Param2D> Found NULL, requires Texture2D
UATHelper: Packaging (Windows): LogInit: Display: LogMaterial: Warning: [AssetLog] C:\Users\Lucky\Documents\Unreal Projects\td\Plugins\Rive\Content\Materials\VPRenderTextureMaterial.uasset: Failed to compile Material for platform PCD3D_SM5, Default Material will be used in game.
UATHelper: Packaging (Windows):    (Node TextureSampleParameter2D) Param2D> Found NULL, requires Texture2D
UATHelper: Packaging (Windows): LogInit: Display: LogMaterial: Warning: [AssetLog] C:\Users\Lucky\Documents\Unreal Projects\td\Plugins\Rive\Content\Materials\MarkerColorMaterial.uasset: Failed to compile Material for platform PCD3D_SM6, Default Material will be used in game.
UATHelper: Packaging (Windows):    Missing Material Function
UATHelper: Packaging (Windows): LogInit: Display: LogMaterial: Warning: [AssetLog] C:\Users\Lucky\Documents\Unreal Projects\td\Plugins\Rive\Content\Materials\MarkerColorMaterial.uasset: Failed to compile Material for platform PCD3D_SM5, Default Material will be used in game.
UATHelper: Packaging (Windows):    Missing Material Function
UATHelper: Packaging (Windows): LogInit: Display: LogMaterial: Warning: Cooking a material resource (in VPRenderTextureMaterial hierarchy) that doesn't have a valid ShaderMap! Shadermap pointer is null.
UATHelper: Packaging (Windows): LogInit: Display: LogMaterial: Warning: Cooking a material resource (in MarkerColorMaterial hierarchy) that doesn't have a valid ShaderMap! Shadermap pointer is null.
UATHelper: Packaging (Windows): LogInit: Display: LogMaterial: Warning: [AssetLog] C:\Users\Lucky\Documents\Unreal Projects\td\Plugins\Rive\Content\Materials\M_UnlitText.uasset: Failed to compile Material for platform PCD3D_SM6, Default Material will be used in game.
UATHelper: Packaging (Windows):    Missing Material Function
UATHelper: Packaging (Windows): LogInit: Display: LogMaterial: Warning: [AssetLog] C:\Users\Lucky\Documents\Unreal Projects\td\Plugins\Rive\Content\Materials\M_UnlitText.uasset: Failed to compile Material for platform PCD3D_SM5, Default Material will be used in game.
UATHelper: Packaging (Windows):    Missing Material Function
UATHelper: Packaging (Windows): LogInit: Display: LogMaterial: Warning: Cooking a material resource (in M_UnlitText hierarchy) that doesn't have a valid ShaderMap! Shadermap pointer is null.

Is there some step post install of plugin and pre build that im missing for this to build?

Thank you!

Voulz commented 3 months ago

Hi @Tackyflea, thanks for the detailed information. The issue you are facing is that anytime there is a log of type Error during a packaging process, the packaging will fail. In this case, the issue is with FRiveEvent::Id, which I'll be looking into.

In the meantime, you can actually package successfully in editor via the Project Launcher or directly under the Platforms dropdown. The errors will be logged when UE Editor opens, but not during packaging which should then succeed.

Voulz commented 3 months ago

This should now be fixed on dev branch. Let me know if you are still having issues after that

Tackyflea commented 3 months ago

This should now be fixed on dev branch. Let me know if you are still having issues after that

Hi @Voulz Thanks for the quick reply! Sounds great, i cant unfortunately get the dev branch to run at all unlike the main branch, before and after the bug fix i had this when trying to launch via code editor

0>rive_sheenbidi.lib: Error : LNK1107: invalid or corrupt file: cannot read at 0x83

which points to rive_sheenbidi.lib with file contents:

version https://git-lfs.github.com/spec/v1 oid sha256:6f0030ca769fb9f4370d2856abbfac7c23e0ef4e827813e9d86763d08ec58ef9 size 355358

But yeah that only happens on dev branch

Voulz commented 2 months ago

@Tackyflea, it sounds like you do not have git-lfs installed, or that the file has not been downloaded properly by git. The rive_sheenbidi.lib (and all the content in the ThirdParty/RiveLibrary folders) should currently be the same between the main and the dev branch.

Tackyflea commented 2 months ago

Hi @Voulz ! Thanks for getting back to me! I did not, i didn't see it as a requirement on the repo maybe we should add it? I added it, and i cloned the repo, downloading a zip made all the assets in dev branch marked as .lib into 1kb files. But cloning it fixed that.

Confirmed, red errors gone, only orange errors above as well as UDebug set to 1 messages left . But can build fine on dev :)

Marking as done, and will continue to work off dev. Cheers!