So let me precede this with an obligatory disclaimer. I know I can jump into my level or mode and do some spawning logic myself. However, I am very curious why this is happening, as I’d really like to do things in a manner that is not “against the grain”.
That said, I’m running into a strange roadblock (could be expected behavior). If I change the object type on my pawn’s mesh to a custom type, the player start will no longer automatically spawn my pawn and possess it. For a super quick, easy example, one could:
- Start a new Twin Stick Shooter project (4.24).
- In Project Settings > Collision, add a new object type named “PlayerPawn” and a new preset named “PlayerPawn” which matches “Pawn” exactly other than “Object Type” being “PlayerPawn”.
- In TwinStickPawn, change the mesh’s collision preset to “PlayerPawn”.
- Observe that nothing spawns when you Play in Editor.
- Change the mesh’s collision to WorldDynamic, it works just fine.
The question is, why is this happening? Is this intended?
Explanation of intent:
I’m looking to set the player’s pawn to PlayerPawn, and player’s projectiles to PlayerProjectile. This would be the easiest (and seemingly, most performant) method to make enemy projectiles ignore other enemies and player projectiles ignore eachother. This way, there is never an event fired for enemy projectiles overlapping with enemies (etc).
I know I can just do nothing in the event that an enemy projectile collides with an enemy, etc. I’m not necessarily looking for answers as to how to work around this issue, I’m just hoping that someone knows the nitty gritty as to why the pawn does not spawn with my custom object type defined on the mesh. It does not seem like it’d be intended behavior to me, but I don’t know.