Inconsistent Spawn Actor location and gravity on said character

Hey guys!

I’m working on a space battle game, and because of considerations that I’ll need to be able to use different player ships and enemy ships, I decided that I’m going to make all ships full blueprints. That said, this game is a bit like FTL, so a ship contains a lot of things: crew, a movement grid for said crew, various rooms with controls, etc.

My first goal is to get the basics of the crew down so I can move them and send them where they need to go, etc, as this will be integral to the rest of the gameplay as well. Because my ship is a blueprint, I’ve been limited to using components to handle just about everything on the ship. However, I’ve worked around this limitation by making “spawner components” which are components with little functionality, instead used as spawn points for things like grid squares and rooms, etc.

What I am trying to do now is to spawn a crewmate class (derived from the Character class) on a grid square (which is an actor spawned by a grid square spawner). The problem is that he gets spawned on top of the grid square instead of on the ground (this grid squares are physically 10cm above the ground of the ship, since they are a visual representation that need to be clickable). I’ve gone through and changed their physics settings to turn of “can step up on” and only overlap pawns (everything else is no collision, except visibility, because I need that for tracing clicks).

Now this whole problem would be fixed, however, if I could simply make gravity apply to this crewmate when he is spawned. I do not know why he has no gravity; his class is basically just the default character class with some custom variables which are not in use yet but there for later simulation calculations (not relating to movement).

So what I really need to know is how to get my guy to spawn with gravity, because that would fix my problem.

Thanks!!

hmm. Should have gravity for sure.

Can you verify the movement mode the character is in (Not just what the default is set to but do a constant print of the current mode during runtime)? Would be good to know if it is “walking” vs “falling” or “flying”.

Also doing a Pause/Eject in PIE and using “show collision” could let you verify what he is standing on if his movement mode is walking.

So I can confirm he is standing on the grid square, even though I’ve set the grid square’s collision settings to overlap only for pawns. His movement mode was set to none on spawn for some reason; is this the default when you spawn one via a blueprint?

So I added a node after spawning to change his movement mode to walking and that solves one of my problems. The other is this weird collision going on.

Try Pause/Eject in PIE and click on the colliding grid square to see the collision properties of the actor as well as the individual component.

Would be useful to see a screenshot of the collision properties of your Pawn’s CapsuleComponent and your grid square’s Components list.

Okay here are some screens: http://imgur.com/a/IXTPj

The first picture is from PIE; the plane circled in red is the room square whose collision is working properly, the blue-circled one is the grid square which is blocking the character on top of it when it should not be.

Interestingly enough, the room square’s collision is exactly the same settings as the grid square, but the vehicle and pawn are set to block instead of overlap. If I switch the room square’s settings for pawn and vehicle to overlap, the character sinks halfway into the ground (the purple square under the grid squares in that first image).

This is all so weird.