Ah! Dus ik had een #Unreal project met alleen maar #ue5blueprints. Daar had ik een simpele C++ class aan toegevoegd en de folder met C++ Classes verscheen niet in mijn editor. Daarom ook maar een module toegevoegd. Vervolgens zei de editor dat die de verkeerde versie had. Nou blijkt de sourcecodeversie 5.5.1 een andere versie te zijn dan de editorversie 5.5.1, dus nu heb ik mijn op de source code gebaseerde project maar met de source code editor geopend et voilΓ : een C++ folder. πŸ₯³
Toch zorgde de from source code gebouwde #UnrealEditor uiteindelijk voor foutmeldingen. Daarom dit keer niet de 5.5.1 release branch, maar de 5.5 branch van de #UnrealEngine uitgecheckt. Die engine moet je dan wel weer opnieuw bouwen. Gisteravond om 20:00 uur gestart en vanochtend was die klaar. Het resultaat is dan gebuilde source code en een #UE5.sln. Die solution ben ik vanochtend om 10:00 uur maar eens gaan bouwen om een nieuwe editor te krijgen en hij is inmiddels al een heel end. πŸ˜‚ πŸ™ˆ

========== Rebuild completed at 22:42 and took 11:40:33,987 hours ========== πŸ‘€

#UE5

Als je je met de #UnrealEngine source code gebouwde project wilt openen in de met dezelfde #UnrealEngine source code gebouwde Unreal Editor dan geeft die aan dat er wat bestanden out of date zijn en vraagt hij of hij de boel moet rebuilden, om er dan achter te komen dat hij dat niet kan, want hij heeft zelf die bestanden in gebruik. πŸ™„

Maar! Als je in de source code in bestand DesktopPlatformBase.cpp op regel 584 -NoEngineChanges -NoHotReloadFromIDE weghaalt, dan buildt & opent je project wel. πŸ€”

Soms vraag ik me af of #Agent327 het niet eenvoudiger vond om incognito op kantoor te komen.
Inmiddels, na vele #Unreal source code en #Rider builds, die doorgaans twaalf uur duurden, steeds na installatie van weer een andere #VisualStudio-component of na een andere #Rider-instelling, gevolgd door allerlei varianten op het niet op willen starten van het project met de ook op source code gebouwde #UnrealEditor en landschappen die ineens zwart uitsloegen, wat weer wat obscure wijzigingen vergde in de wijze van belichting door mijn zon, heb ik nu maarliefst tweemaal Hello world bereikt. πŸ˜€
Zo. Mijn leven is niet voor niets geweest; ik heb in #UE5 vanuit C++ een blauwe, driedimensionale letter H in de lucht weten te tekenen. 😎

Altijd als je een nieuwe programmeertaal leert, ontstaat er de onweerstaanbare behoefte om eerst een Hello World te schrijven. In een 3D game framework als #Unreal kan dat met debuglines in de lucht. πŸ‘€

Daarvoor moet je de vector naar je HelloWorld Actor weten, en in mijn geval ook nog in welke richting die kijkt en in die richting een startpositievector definiΓ«ren, en vanuit die vector op basis van andere vectoren de letter tekenen om dan daarna de startpositie naar rechts op te schuiven.

Ja, dit is dan weer mooi. Ik heb alle vectoren, die van het startpunt van een letter naar het startpunt van een lijn binnen een letter, die van het startpunt van een letter naar het eindpunt van een lijn binnen een letter en die van het startpunt van een letter naar het startpunt van de volgende letter 90 graden gedraaid, wat er in resulteert dat de gehele tekst haaks staat. Ik zie ook nog niet in hoe dit de ellende in de wereld gaat oplossen, maar schoonheid om de schoonheid is ook wat waard.
Als je een stukje code aanpast in #Rider, dan duurt het builden naar schatting zo'n 5 Γ  10 minuten, ook al heb je dan misschien maar 1 regel aangepast. Dan open je de #Unreal Launcher. Dat duurt een paar minuten. Vandaaruit open je je project. Dat duurt weer een minuut of vijf. Maar in sommige gevallen geeft hij aan dat er fouten geslopen zijn in niet je #Rider build, maar in je #UnrealEditor build. In dat geval moet je alles daar opnieuw builden, maar dat is dan wel meer dan 5 minuten werk. πŸ™„
De build fixte niet de fouten. Oh, well. Zen. πŸ§˜β€β™‚οΈ
O. Ik maak gebruik van spatial loading en dat is nu ineens een probleem. Spatial loading betekent dat #Unreal objecten pas laadt als ze in de buurt zijn. For some reason heb ik ineens objecten die spatial geladen moeten worden die referenties hebben naar objecten die niet spatial geladen moeten worden, wat natuurlijk tot problemen leidt. Voor die probleemobjecten zet ik daarom spatial laden uit en daarmee verdwijnen de foutmeldingen. Het enige is dat het spel blijft crashen bij het opstarten. πŸ™„

OK... spatial loading weer enabled, waardoor de oude foutmeldingen weer terugkeren als ook de foutmelding

"Assertion failed: RuntimeStreamingData.IsEmpty()"

...en some dude on the internet die aangeeft dat je dan in je World Settings de Runtime Hash Class op WorldPartitionRuntimeSpatialHash moet zetten en warempel, dat helpt.

Van die dingen. Kost je een paar uur van je leven, maar dan heb je ook wat.

Nou, volgens mij is mijn #Unreal #HelloWorld #CPlusPlus class wel geslaagd. De tekst, opgebouwd uit custom lijnen, pitcht, yawt en rollt over de drie assen waar een object om kan draaien dat het een lieve lust is en het is allemaal lekker kleurrijk bovendien.
Hier nog even een bewegende #HelloWorld in #Unreal met bewegende camera. πŸ‘€

Nu aan het experimenteren met het via code te laten ronddraaien van objecten rondom andere objecten, terwijl die objecten al enorm beweeglijk van zichzelf zijn.

De rode bol draait namelijk in een cirkel om de nu rode H heen, terwijl de pijl uit zijn buik de richting van die rode bol aangeeft.

#UnrealEngine5