Failing to do this leads to a Native instance inside a non-native instance, which causes GC confusion
#jira UE-74616
#rb Lauren.Ridge
#ROBOMERGE-VERSION: 348-6547088
#ROBOMERGE-OWNER: lina.halper
#ROBOMERGE-AUTHOR: jamie.dale
#ROBOMERGE-SOURCE: CL 6536762 via CL 6538364 via CL 6538485
#ROBOMERGE-BOT: ANIM (Main -> Dev-Anim)
[CL 6564488 by jamie dale in Dev-Anim branch]
We now ARO these pending types to stop them being GC'd, and added unreal.flush_generated_type_reinstancing() to allow you to force the reinstancing to happen at a certain point in your script (rather than when it ends, or on the next Tick).
#jira UE-72853
#rb Chris.Gagnon
#lockdown Cristina.Riveron
#ROBOMERGE-OWNER: lina.halper
#ROBOMERGE-AUTHOR: jamie.dale
#ROBOMERGE-SOURCE: CL 5956901 in //UE4/Release-4.22/... via CL 5956925
#ROBOMERGE-BOT: ANIM (Main -> Dev-Anim)
[CL 5962663 by jamie dale in Dev-Anim branch]
The definition of the delegate type must specify the class and property name of the delegate that will use it and the type cannot be used outside of that context or just on the stack.
UMulticastDelegateProperty is now abstract and has 2 subclasses (UMulticastDelegateInlineProperty and UMulticastDelegateSparseProperty). The SparseProperty SignatureFunction will be a USparseDelegateFunction.
The sparse delegates do not work correctly with the python bindings at this point, but this will be visited soon.
#rb Michael.Noland
#jira
#ROBOMERGE-OWNER: lina.halper
#ROBOMERGE-AUTHOR: marc.audy
#ROBOMERGE-SOURCE: CL 5295832 via CL 5306530 via CL 5306657
#ROBOMERGE-BOT: ANIM (Main -> Dev-Anim)
[CL 5322213 by marc audy in Dev-Anim branch]
- This enables reporting of unresolved symbols within a single module. Full reporting (i.e. symbols missing from both library currently being linked and all other
libraries it is linking to) is not enabled, because it doesn't work with our circular (re)linking scheme. When full reporting is enabled, if module A links to module B
that links to module A again, then A's symbols referenced in B are reported as unresolved.
- Even with this, some modules cannot be solved at this moment, so this change introduces a setting to opt-out.
Initially there were 5 modules that needed this opt-out. I solved most of them (some by disabling, since they missed the necessary libs), and now there is only one left.
Even the last one is solvable (UE-70768), so it is tempting to remove this option. However, I anticipate that there will be moment when a new module addition
will be breaking CIS due to unresolved symbols, and there will be no immediate and easy way to disable that except for nixing the whole system. Also, licensees may have more.
#rb Ben.Marsh, Anthony.Bills, Brandon.Schaefer
#fyi Marcin.Undak, Michael.Sartain, Brandon.Schaefer
[CL 5237830 by Arciel Rekman in Dev-Editor branch]