How do I get rid of unemployed pop migration?

  • We have updated our Community Code of Conduct. Please read through the new rules for the forum that are an integral part of Paradox Interactive’s User Agreement.

BelziBhaal

Corporal
17 Badges
Sep 7, 2018
40
20
  • Stellaris: Humanoids Species Pack
  • Stellaris: Nemesis
  • Stellaris: Necroids
  • Stellaris: Federations
  • Stellaris: Lithoids
  • Stellaris: Ancient Relics
  • Stellaris: Megacorp
  • Stellaris: Distant Stars
  • Stellaris: Apocalypse
  • Stellaris - Path to Destruction bundle
  • Stellaris: Leviathans Story Pack
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Stellaris
  • Magicka
  • Stellaris: Synthetic Dawn
I only play driven assimilators because I utterly loathe the braindead faction and claim system in this game. In my last 3.1 game, I could dump a few dozen pops on my planet, set it to build what I need to and the jobs will be filled as the buildings get completed. I do this because unless the pop is specialised such as a psychic intelligent researcher, I tend to keep my planets mostly homogenised and 100% specialised. I do not want my Traditional pops buggering off from my Unity planet to my mining world. Now in 3.2, I find that pops are constantly migrating to other planets, despite having migration controls enabled by default.

How the hell do I turn this god awful nightmare off? I am 30 years into my game and I am already over having to check my planets every 2 minutes to move pops back. I am equally tired of having to console myself in the energy I spent on this garbage.

Thanks.
 

BelziBhaal

Corporal
17 Badges
Sep 7, 2018
40
20
  • Stellaris: Humanoids Species Pack
  • Stellaris: Nemesis
  • Stellaris: Necroids
  • Stellaris: Federations
  • Stellaris: Lithoids
  • Stellaris: Ancient Relics
  • Stellaris: Megacorp
  • Stellaris: Distant Stars
  • Stellaris: Apocalypse
  • Stellaris - Path to Destruction bundle
  • Stellaris: Leviathans Story Pack
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Stellaris
  • Magicka
  • Stellaris: Synthetic Dawn
If this is reliably happening in an unmodded game, can you give us a bug report with a save please?
I use a few mods. Absolutely none of them touch any player related AI. They are all UI and other improvement mods. The only AI mod I use is Startech and I have already checked to see if there is a gamerules.txt file and it does not appear in my mod folders.

I have posted in the bug reports forum and uploaded my list of mods and a save.

This is happening EVERY SINGLE MONTH. I just watched 20+ pops move themselves around without my input.
 
Last edited:

Alfray Stryke

Stellaris Game Designer
Paradox Staff
QA
136 Badges
Feb 21, 2014
2.695
13.170
  • PDXCON 2017 Gold Ticket holder
  • Hearts of Iron IV: No Step Back
  • PDXCON 2018 "The Emperor"
  • PDXCon 2019 "Emperor"
Hang on, I think I haven't had enough coffee and missed that you might be playing a machine intelligence. Gestalt empires ignore migration controls on auto-resettlement by design. Apologies! :)
 
  • 2Haha
Reactions:

BelziBhaal

Corporal
17 Badges
Sep 7, 2018
40
20
  • Stellaris: Humanoids Species Pack
  • Stellaris: Nemesis
  • Stellaris: Necroids
  • Stellaris: Federations
  • Stellaris: Lithoids
  • Stellaris: Ancient Relics
  • Stellaris: Megacorp
  • Stellaris: Distant Stars
  • Stellaris: Apocalypse
  • Stellaris - Path to Destruction bundle
  • Stellaris: Leviathans Story Pack
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Stellaris
  • Magicka
  • Stellaris: Synthetic Dawn
Hang on, I think I haven't had enough coffee and missed that you might be playing a machine intelligence. Gestalt empires ignore migration controls on auto-resettlement by design. Apologies! :)
Since when? Is this a new addition as of 3.2? It NEVER happened in 3.1.

How the hell do I turn it off? I want this garbage gone forever. The game is currently unplayable for me. I would get a mod for it if I could, but it currently does not exist. Tell me where in the game files it is and I will go in and neuter it myself.
 
Last edited:

DaRealJaymc1130

Captain
On Probation
Jul 4, 2021
346
322
Since when? Is this a new addition as of 3.2? It NEVER happened in 3.1.

How the hell do I turn it off? I want this garbage gone forever. The game is currently unplayable for me. I would get a mod for it if I could, but it currently does not exist. Tell me where in the game files it is and I will go in and neuter it myself.
Nope, not a new addition. They've always done this. It's a bit more noticeable nowadays because they smoothed out the end of the month job checks routines when they decreased the job totals for buildings and districts so those pops now more accurately identify when there is a job they could be doing but aren't and should therefore move.

You can solve this problem in a number of ways. First, prebuilding and leaving open jobs on your other worlds without having a job opening on the world where a pop is unemployed is often going to cause them to move to the planet with a job for them to work. So you can either stop over prebuilding your planets (which is wasteful in upkeep costs anyways so this is recommended) and/or you can start manually closing open jobs on your prebuilt planets so that pops don't see a job they want to migrate to. Another trick that might help is to leave open your Mat Drone jobs so your new pops always see a job on their planet to work (even though you won't want them in this job most likely) and then you can manually check on them and move them to better jobs with regular spot checks.

I've played hundred or maybe thousands of DA runs, so this isn't a new thing. It's always been frustrating that ME pops have awkward migration priorities and these little tricks to keep your pops where you want them are kind of required to keep specialized workers working in their specialized roles. I'm used to keeping all my non worked jobs slots closed with MEs and only opening a job slot when a new pop is produced and I see that little red unemployed icon in my outliner cuz I'm hardcore anal retentive when I play MEs and that once in a while I'm not paying enough attention and I have an opening somewhere on some other planet and my pop moves before I get to employ it where I wanted so I'm very used to seeing this issue. It's annoying but with a minimal effort you can mostly completely rectify the situation. Just have to alter your micromanagement style.

Edit: I think the saddest thing is that your ME empire archetype pops do a fantastic job of migrating to work on other worlds without needing much input, but bio pops with a Transit Hub and a Democratic government doesn't function in even the slightest regard. Ironic that the empire archetypes we don't want migrating constantly on autopilot do exactly that while the empire archetypes where player want that to happen doesn't function at all. Transit Hubs are a complete mess and that entire system and concept needs to be completely reworked for the umpteenth time.
 
Last edited:

Alfray Stryke

Stellaris Game Designer
Paradox Staff
QA
136 Badges
Feb 21, 2014
2.695
13.170
  • PDXCON 2017 Gold Ticket holder
  • Hearts of Iron IV: No Step Back
  • PDXCON 2018 "The Emperor"
  • PDXCon 2019 "Emperor"
Since when? Is this a new addition as of 3.2? It NEVER happened in 3.1.

How the hell do I turn it off? I want this garbage gone forever. The game is currently unplayable for me. I would get a mod for it if I could, but it currently does not exist. Tell me where in the game files it is and I will go in and neuter it myself.

It's by design that gestalt pops can auto-migrate like that and has been since the feature was introduced.
 
  • 1
Reactions:

BelziBhaal

Corporal
17 Badges
Sep 7, 2018
40
20
  • Stellaris: Humanoids Species Pack
  • Stellaris: Nemesis
  • Stellaris: Necroids
  • Stellaris: Federations
  • Stellaris: Lithoids
  • Stellaris: Ancient Relics
  • Stellaris: Megacorp
  • Stellaris: Distant Stars
  • Stellaris: Apocalypse
  • Stellaris - Path to Destruction bundle
  • Stellaris: Leviathans Story Pack
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Stellaris
  • Magicka
  • Stellaris: Synthetic Dawn
It's by design that gestalt pops can auto-migrate like that and has been since the feature was introduced.
Where in the game files can I find the rules for this? I want it gone forever. I NEVER had this problem in anything from 2.1 when I started playing up to 3.1. Not once have I ever had a pop auto migrate on me. It is an absolutely ridiculous and beyond stupid design decision. I want to be able to choose to have the old behaviour back. To me this is a game breaking issue and I find it unacceptable.
 
  • 7
  • 1
Reactions:

DaRealJaymc1130

Captain
On Probation
Jul 4, 2021
346
322
Where in the game files can I find the rules for this? I want it gone forever. I NEVER had this problem in anything from 2.1 when I started playing up to 3.1. Not once have I ever had a pop auto migrate on me. I want this old behaviour back.
They were doing it then too mate, you just didn't notice. This has been true for years, lol. Like I said it's a LOT more noticeable now, but just simple job management tricks are enough to eliminate any issue this might pose. Just close down all your jobs and open them up one by one as your pops spawn. If they don't see a job on another world to move to they don't move.
 

Ryika

Field Marshal
52 Badges
Apr 16, 2018
2.790
8.266
Where in the game files can I find the rules for this? I want it gone forever. I NEVER had this problem in anything from 2.1 when I started playing up to 3.1. Not once have I ever had a pop auto migrate on me. It is an absolutely ridiculous and beyond stupid design decision. I want to be able to choose to have the old behaviour back. To me this is a game breaking issue and I find it unacceptable.
The easiest way to do this is without disrupting the AI is by changing a game rule in Stellaris\common\game_rules\00_rules.txt

Find:
Code:
can_pop_auto_migrate = {
    is_unemployed = yes
    is_being_assimilated = no
    OR = {
        AND = {
            is_shackled_robot = no
            is_enslaved = no
        }
        planet = {
            has_building = building_slave_processing
        }
    }
}

...and change it to:
Code:
can_pop_auto_migrate = {
    is_unemployed = yes
    owner = { is_ai = yes }
    is_being_assimilated = no
    OR = {
        AND = {
            is_shackled_robot = no
            is_enslaved = no
        }
        planet = {
            has_building = building_slave_processing
        }
    }
}

If you just want to limit it while playing as Machine (since they can't set migration controls to stop it manually), you can also do:
Code:
can_pop_auto_migrate = {
    is_unemployed = yes
    owner = {
        or = {
            is_ai = yes
            is_machine_empire = no
        }
    }
    is_being_assimilated = no
    OR = {
        AND = {
            is_shackled_robot = no
            is_enslaved = no
        }
        planet = {
            has_building = building_slave_processing
        }
    }
}


Untested, but should work.

Obviously best implemented by a proper mod instead of modifying the file directly.
 
Last edited:
  • 2
  • 1Love
Reactions:

BelziBhaal

Corporal
17 Badges
Sep 7, 2018
40
20
  • Stellaris: Humanoids Species Pack
  • Stellaris: Nemesis
  • Stellaris: Necroids
  • Stellaris: Federations
  • Stellaris: Lithoids
  • Stellaris: Ancient Relics
  • Stellaris: Megacorp
  • Stellaris: Distant Stars
  • Stellaris: Apocalypse
  • Stellaris - Path to Destruction bundle
  • Stellaris: Leviathans Story Pack
  • Stellaris: Digital Anniversary Edition
  • Stellaris: Galaxy Edition
  • Stellaris: Galaxy Edition
  • Stellaris
  • Magicka
  • Stellaris: Synthetic Dawn
The easiest way to do this is without disrupting the AI is by changing a game rule in Stellaris\common\game_rules\00_rules.txt

Find:
Code:
can_pop_auto_migrate = {
    is_unemployed = yes
    is_being_assimilated = no
    OR = {
        AND = {
            is_shackled_robot = no
            is_enslaved = no
        }
        planet = {
            has_building = building_slave_processing
        }
    }
}

...and change it to:
Code:
can_pop_auto_migrate = {
    is_unemployed = yes
    owner = { is_ai = yes }
    is_being_assimilated = no
    OR = {
        AND = {
            is_shackled_robot = no
            is_enslaved = no
        }
        planet = {
            has_building = building_slave_processing
        }
    }
}

If you just want to limit it while playing as Machine (since they can't set migration controls to stop it manually), you can also do:
Code:
can_pop_auto_migrate = {
    is_unemployed = yes
    owner = {
        or = {
            is_ai = yes
            is_machine_empire = yes
        }
    }
    is_being_assimilated = no
    OR = {
        AND = {
            is_shackled_robot = no
            is_enslaved = no
        }
        planet = {
            has_building = building_slave_processing
        }
    }
}


Untested, but should work.

Obviously best implemented by a proper mod instead of modifying the file directly.
If you look above can_pop_auto_migrate = { you will see that it says the following:

# Purge, Sapience, Migration Controls policy (ignored by Gestalts and Synths), and target habitability are checked in code.

It looks like gestalts ignore this completely.
 

NMS127

Sergeant
18 Badges
Dec 28, 2018
78
44
  • Stellaris: Apocalypse
  • Stellaris: Federations
  • Stellaris: Ancient Relics
  • Stellaris: Megacorp
  • Shadowrun: Hong Kong
  • Shadowrun: Dragonfall
  • Shadowrun Returns
  • Stellaris: Distant Stars
  • Surviving Mars: Digital Deluxe Edition
  • Stellaris: Synthetic Dawn
  • Surviving Mars
  • BATTLETECH
  • Stellaris - Path to Destruction bundle
  • Stellaris: Leviathans Story Pack
  • Stellaris: Digital Anniversary Edition
  • Stellaris
  • Teleglitch: Die More Edition
  • Magicka
If you look above can_pop_auto_migrate = { you will see that it says the following:

# Purge, Sapience, Migration Controls policy (ignored by Gestalts and Synths), and target habitability are checked in code.

It looks like gestalts ignore this completely.
I read that as saying only Migration Controls are ignored by Gestalts, so the other restrictions, including this function, should still work.
 
  • 1
Reactions: